Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

groupArray

groupArray

Introduit dans : v1.1.0

Crée un tableau de valeurs d'argument. Les valeurs peuvent être ajoutées au tableau dans un ordre quelconque (indéterminé).

La deuxième version (avec le paramètre max_size) limite la taille du tableau résultant à max_size éléments. Par exemple, groupArray(1)(x) est équivalent à [any(x)].

Dans certains cas, vous pouvez néanmoins vous fier à l'ordre d'exécution. Cela s'applique lorsque SELECT provient d'une sous-requête qui utilise ORDER BY, si le résultat de la sous-requête est suffisamment petit.

La fonction groupArray supprime les valeurs NULL du résultat.

Syntaxe

groupArray(x)
groupArray(max_size)(x)

Alias : array_agg

Paramètres

  • max_size — Facultatif. Limite la taille du tableau résultant à max_size éléments. UInt64

Arguments

  • x — Valeurs d’argument à regrouper dans un tableau. Any

Valeur renvoyée

Renvoie un tableau contenant les valeurs d’argument. Array

Exemples

Utilisation de base

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