Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

groupArray

groupArray

Добавленный в: v1.1.0

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

Вторая версия (с параметром 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

Примеры

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

CREATE TABLE ck (id UInt8, name String) ENGINE = Memory;
INSERT INTO ck VALUES (1, 'zhangsan'), (1, 'lisi'), (2, 'wangwu');

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