Перейти к основному содержимому
Перейти к основному содержимому

groupArray

groupArray

Впервые появилась в: v1.1

Создаёт массив значений аргумента. Значения могут добавляться в массив в любом (неопределённом) порядке.

Вторая версия (с параметром max_size) ограничивает размер результирующего массива до max_size элементов. Например, groupArray(1)(x) эквивалентна [any(x)].

В некоторых случаях вы всё же можете полагаться на порядок выполнения. Это относится к случаям, когда SELECT выбирает данные из подзапроса, использующего ORDER BY, если результат подзапроса достаточно мал.

Функция groupArray удаляет значения NULL из результата.

Синтаксис

groupArray(x)
groupArray(max_size)(x)

Псевдонимы: array_agg

Параметры

  • max_size — Необязательный параметр. Ограничивает размер результирующего массива до max_size элементов. UInt64

Аргументы

  • x — Значения аргумента, собираемые в массив. Any

Возвращаемое значение

Возвращает массив значений аргумента. Array

Примеры

Базовое использование

SELECT id, groupArray(10)(name) FROM default.ck GROUP BY id;
┌─id─┬─groupArray(10)(name)─┐
│  1 │ ['zhangsan','lisi']  │
│  2 │ ['wangwu']           │
└────┴──────────────────────┘