Агрегатная функция array_agg
Область применения: Databricks SQL Databricks Runtime 10.4 LTS и выше
Возвращает массив, состоящий из всех значений в выражении expr
в группе. Эта функция является синонимом collect_list агрегатной функции.
Синтаксис
array_agg ( [ALL | DISTINCT] expr ) [FILTER ( WHERE cond ) ]
Эту функцию также можно вызвать как функцию окна с помощью OVER
предложения.
Аргументы
expr
: выражение любого типа.cond
: необязательное логическое выражение для фильтрации строк, используемых для агрегирования.
Возвраты
Выражение ARRAY со значениями типа argument.
Порядок элементов в массиве не является детерминированным.
Значения NULL
исключаются.
Если DISTINCT
указана функция собирает только уникальные значения и является синонимом collect_set агрегатной функции.
Примеры
> SELECT array_agg(col) FROM VALUES (1), (2), (NULL), (1) AS tab(col);
[1,2,1]
> SELECT array_agg(DISTINCT col) FROM VALUES (1), (2), (NULL), (1) AS tab(col);
[1,2]