Как сделать аналог groupUniqArray в Vertica?
Есть таблица вида
| user_id | event_id |
|---|---|
| 1 | 1 |
| 1 | 2 |
| 2 | 3 |
| 2 | 4 |
| 2 | 5 |
Нужно получить на выходе такую
| user_id | events |
|---|---|
| 1 | [1, 2] |
| 2 | [3, 4, 5] |
В clickhouse я бы использовал такую конструкцию
select user_id,
groupUniqArray(event_id) as events
from db
group by user_id
Но в вертике без понятия.
Ответы (1 шт):
Автор решения: Ayo
→ Ссылка
Разобрался, там есть похожая функция listagg(), она вроде groupArray, для уников просто distinct в неё можно передать. Возвращает конечно не массив а строку, но в целом ок
select user_id,
listagg(distinct event_id) as events
from db
group by user_id