groupArray
语法: groupArray(x)
或 groupArray(max_size)(x)
创建一个包含参数值数组。值可以以任何(不确定的)顺序添加到数组中。
第二个版本(带 max_size
参数)将结果数组的大小限制为 max_size
个元素。例如,groupArray(1)(x)
等效于 [any (x)]
。
在某些情况下,您仍然可以依赖执行顺序。这适用于 SELECT
来自使用 ORDER BY
的子查询的情况,如果子查询结果足够小。
示例
SELECT * FROM default.ck;
┌─id─┬─name─────┐
│ 1 │ zhangsan │
│ 1 │ ᴺᵁᴸᴸ │
│ 1 │ lisi │
│ 2 │ wangwu │
└────┴──────────┘
查询
select id, groupArray(10)(name) from default.ck group by id;
结果
┌─id─┬─groupArray(10)(name)─┐
│ 1 │ ['zhangsan','lisi'] │
│ 2 │ ['wangwu'] │
└────┴──────────────────────┘
根据以上结果,groupArray 函数将删除 ᴺᵁᴸᴸ 值。
- 别名:
array_agg
。