> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-detect-table-modification.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> 创建由参数值组成的数组。值可以按任意（不确定的）顺序添加到数组中。

# groupArray

<div id="groupArray">
  ## groupArray
</div>

引入版本：v1.1.0

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

第二个版本 (带有 `max_size` 参数) 会将结果数组的大小限制为 `max_size` 个元素。例如，`groupArray(1)(x)` 等同于 `[any(x)]`。

在某些情况下，你仍然可以依赖执行顺序。这适用于 `SELECT` 来自使用 `ORDER BY` 的子查询，且子查询结果足够小的情况。

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

**语法**

```sql theme={null}
groupArray(x)
groupArray(max_size)(x)
```

**别名**: `array_agg`

**参数**

* `max_size` — 可选。将结果数组的大小限制为 `max_size` 个元素。[`UInt64`](/zh/reference/data-types/int-uint)

**参数说明**

* `x` — 要收集到数组中的参数值。[`Any`](/zh/reference/data-types/index)

**返回值**

返回由参数值组成的数组。[`Array`](/zh/reference/data-types/array)

**示例**

**基本用法**

```sql title=Query theme={null}
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;
```

```response title=Response theme={null}
┌─id─┬─groupArray(10)(name)─┐
│  1 │ ['zhangsan','lisi']  │
│  2 │ ['wangwu']           │
└────┴──────────────────────┘
```
