将一列中的值(包括空值 null)串联成一个数组,可以用于多行转一行(行转列)。
ARRAY_AGG(<col>)
| 参数 | 说明 |
|---|---|
<col> | 确定要放入数组的值的表达式(通常是列名) |
返回 ARRAY 类型的值,特殊情况:
col 类型一致。select * from test_doris_array_agg;
+------+------+ | c1 | c2 | +------+------+ | 1 | a | | 1 | b | | 2 | c | | 2 | NULL | | 3 | NULL | +------+------+
select c1, array_agg(c2) from test_doris_array_agg group by c1;
+------+-----------------+ | c1 | array_agg(`c2`) | +------+-----------------+ | 1 | ["a","b"] | | 2 | [NULL,"c"] | | 3 | [NULL] | +------+-----------------+