跳转到主要内容

groupArraySample

引入版本:v20.3.0 创建一个由参数值样本组成的数组。 结果数组的大小限制为 max_size 个元素。 参数值会被随机选取并添加到数组中。 语法
groupArraySample(max_size[, seed])(x)
参数
  • max_size — 结果数组的最大长度。UInt64
  • seed — 可选。随机数生成器的种子。默认值:123456。UInt64
  • x — 参数 (列名或表达式) 。Any
Arguments
  • array_column — 包含待聚合数组的列。Array
返回值 由随机选取的 x 值组成的数组。Array(T) 示例 使用示例
Query
CREATE TABLE default.colors (
    id Int32,
    color String
) ENGINE = Memory;

INSERT INTO default.colors VALUES
(1, 'red'),
(2, 'blue'),
(3, 'green'),
(4, 'white'),
(5, 'orange');

SELECT groupArraySample(3)(color) as newcolors FROM default.colors;
Response
┌─newcolors──────────────────┐
│ ['white','blue','green']   │
└────────────────────────────┘
使用种子值的示例
Query
-- 使用列名和不同种子值的查询
SELECT groupArraySample(3, 987654321)(color) as newcolors FROM default.colors;
Response
┌─newcolors──────────────────┐
│ ['red','orange','green']   │
└────────────────────────────┘
使用表达式作为参数
Query
-- 以表达式作为参数的查询
SELECT groupArraySample(3)(concat('light-', color)) as newcolors FROM default.colors;
Response
┌─newcolors───────────────────────────────────┐
│ ['light-blue','light-orange','light-green'] │
└─────────────────────────────────────────────┘
最后修改于 2026年6月10日