Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

groupArray

groupArray

Introducido en: v1.1.0

Crea un array de valores del argumento. Los valores pueden añadirse al array en cualquier orden (indeterminado).

La segunda versión (con el parámetro max_size) limita el tamaño del array resultante a max_size elementos. Por ejemplo, groupArray(1)(x) es equivalente a [any(x)].

En algunos casos, se puede seguir confiando en el orden de ejecución. Esto se aplica a los casos en que SELECT proviene de una subconsulta que usa ORDER BY, si el resultado de la subconsulta es lo suficientemente pequeño.

La función groupArray elimina los valores NULL del resultado.

Sintaxis

groupArray(x)
groupArray(max_size)(x)

Alias: array_agg

Parámetros

  • max_size — Opcional. Limita el tamaño del array resultante a max_size elementos. UInt64

Argumentos

  • x — Valores del argumento que se recopilan en un array. Any

Valor devuelto

Devuelve un array con los valores del argumento. Array

Ejemplos

Uso básico

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