Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

groupArray

groupArray

Introduzido em: v1.1.0

Cria um array de valores de argumentos. Os valores podem ser adicionados ao array em qualquer ordem (indeterminada).

A segunda versão (com o parâmetro max_size) limita o tamanho do array resultante a max_size elementos. Por exemplo, groupArray(1)(x) é equivalente a [any(x)].

Em alguns casos, ainda é possível contar com a ordem de execução. Isso se aplica quando o SELECT vem de uma subconsulta que usa ORDER BY, se o resultado da subconsulta for pequeno o suficiente.

A função groupArray remove os valores NULL do resultado.

Sintaxe

groupArray(x)
groupArray(max_size)(x)

Aliases: array_agg

Parâmetros

  • max_size — Opcional. Limita o tamanho do array resultante a max_size elementos. UInt64

Argumentos

  • x — Valores do argumento a serem coletados em um array. Any

Valor retornado

Retorna um array de valores de argumentos. Array

Exemplos

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