COLLECT_LIST
説明
集約関数で、列のすべての値を配列に集約するために使用されます。
エイリアス
- GROUP_ARRAY
構文
COLLECT_LIST(<expr> [,<max_size>])
パラメータ
| Parameter | デスクリプション |
|---|---|
<expr> | 集約する列または式 |
<max_size> | 結果の配列のサイズをmax_size要素に制限するために設定可能なオプションパラメータ |
Return Value
戻り値の型はARRAYで、すべての値を含みます。特殊な状況:
- 値がNULLの場合、フィルタされます
Example
select k1,k2,k3 from collect_list_test order by k1;
+------+------------+-------+
| k1 | k2 | k3 |
+------+------------+-------+
| 1 | 2023-01-01 | hello |
| 2 | 2023-01-02 | NULL |
| 2 | 2023-01-02 | hello |
| 3 | NULL | world |
| 3 | 2023-01-02 | hello |
| 4 | 2023-01-02 | sql |
| 4 | 2023-01-03 | sql |
+------+------------+-------+
select collect_list(k1),collect_list(k1,3) from collect_list_test;
+-------------------------+--------------------------+
| collect_list(`k1`) | collect_list(`k1`,3) |
+-------------------------+--------------------------+
| [1,2,2,3,3,4,4] | [1,2,2] |
+-------------------------+--------------------------+
select k1,collect_list(k2),collect_list(k3,1) from collect_list_test group by k1 order by k1;
+------+-------------------------+--------------------------+
| k1 | collect_list(`k2`) | collect_list(`k3`,1) |
+------+-------------------------+--------------------------+
| 1 | [2023-01-01] | [hello] |
| 2 | [2023-01-02,2023-01-02] | [hello] |
| 3 | [2023-01-02] | [world] |
| 4 | [2023-01-02,2023-01-03] | [sql] |
+------+-------------------------+--------------------------+