跳转到主内容
跳转到主内容

groupArray

groupArray

自 v1.1 版本引入

创建由参数值组成的数组。 值可以以任意(不确定的)顺序添加到数组中。

第二种形式(带有 max_size 参数)将结果数组的大小限制为 max_size 个元素。例如,groupArray(1)(x) 等价于 [any(x)]

在某些情况下,仍然可以依赖于执行顺序。这适用于以下场景:当 SELECT 来自一个使用了 ORDER BY 的子查询,并且该子查询的结果集足够小时。

groupArray 函数会从结果中移除 NULL 值。

语法

groupArray(x)
groupArray(max_size)(x)

别名array_agg

参数

  • max_size — 可选。将结果数组的大小限制为 max_size 个元素。UInt64

参数说明

  • x — 要聚合到数组中的参数值。Any

返回值

返回一个由参数值组成的数组。Array

示例

基本用法

SELECT id, groupArray(10)(name) FROM default.ck GROUP BY id;
┌─id─┬─groupArray(10)(name)─┐
│  1 │ ['zhangsan','lisi']  │
│  2 │ ['wangwu']           │
└────┴──────────────────────┘