Поделиться через


Агрегатная функция collect_list

Область применения: флажок Databricks SQL флажок Databricks Runtime

Возвращает массив, состоящий из всех значений в выражении expr в группе. Эта функция является синонимом array_agg агрегатной функции.

Синтаксис

collect_list ( [ALL | DISTINCT] expr ) [FILTER ( WHERE cond ) ]

Эту функцию также можно вызвать как функцию окна с помощью OVER предложения.

Аргументы

  • expr: выражение любого типа.
  • cond: необязательное логическое выражение для фильтрации строк, используемых для агрегирования.

Возвраты

Выражение ARRAY со значениями типа argument.

Порядок элементов в массиве не является детерминированным. Значения NULL исключаются.

Если DISTINCT задано, функция собирает только уникальные значения и является синонимом collect_set агрегатной функции.

Примеры

> SELECT collect_list(col) FROM VALUES (1), (2), (NULL), (1) AS tab(col);
 [1,2,1]

> SELECT collect_list(DISTINCT col) FROM VALUES (1), (2), (NULL), (1) AS tab(col);
 [1,2]