SQL-запрос для создания карты массива в AWS Athena (Presto) - PullRequest
0 голосов
/ 27 августа 2018

У меня есть таблица в aws athena со следующими столбцами

Company name  Employee Name   Salary
------------------------------------
 Apple       | John         | 50
 Apple       | Dima         | 100
 Microsoft   | Bart         | 75
 Google      | Harry        | 90
 Google      | Noah         | 80

и я хочу сгенерировать одним запросом следующую таблицу, предпочтительно с использованием карты массивов

Company name  Employee Data
------------------------------------
 Apple       | [John,50],[Dima,100]
 Microsoft   | [Bart,75]
 Google      | [Harry,90],[Noah,80]

Есть идеи, как это можно сделать?

1 Ответ

0 голосов
/ 27 августа 2018

В настоящее время в PrestoDB нет формальной групповой конкат-функции.Но мы можем подойти ближе:

SELECT
    CompanyName,
    array_join(array_agg('[' || EmployeeName || ',' || Salary || ']'), ',', '') AS EmployeeData
FROM yourTable
GROUP BY
    CompanyName;
...