groupArray
導入バージョン: v1.1.0
引数値からArrayを作成します。 値は任意の (不定な) 順序でArrayに追加されます。
2 番目のバージョン (max_size パラメータ付き) は、結果のArrayのサイズを max_size 要素に制限します。たとえば、groupArray(1)(x) は [any(x)] と同等です。
場合によっては、実行順序に依存できることもあります。これは、SELECT の対象が ORDER BY を使用するサブクエリであり、そのサブクエリの結果が十分に小さい場合に当てはまります。
groupArray 関数は、結果から NULL 値を削除します。
構文
groupArray(x)
groupArray(max_size)(x)別名: array_agg
パラメータ
max_size— 任意。結果のArrayの要素数をmax_sizeに制限します。UInt64
引数
x— Arrayにまとめる引数値。Any
戻り値
引数値からなるArrayを返します。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'] │
└────┴──────────────────────┘