Как подсчитать вхождения элементов массива в Presto? - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть массив в Presto, и я хотел бы подсчитать, сколько раз каждый элемент встречается в нем. Например, у меня есть

[a, a, a, b, b]

, и я хотел бы получить что-то вроде

{a: 3, b: 2}

1 Ответ

3 голосов
/ 04 апреля 2020

У нас нет прямой функции для этого, но вы можете объединить UNNEST с histogram:

presto> SELECT histogram(x)
     -> FROM UNNEST(ARRAY[1111, 1111, 22, 22, 1111]) t(x);
     _col0
----------------
 {22=2, 1111=3}

Вы можете подать новый выдайте для прямой функции для этого.

...