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