跳到主要内容
跳到主要内容

groupArraySample

创建一个由参数值样本组成的数组。结果数组的大小限制为 max_size 个元素。参数值会被随机选取并添加到数组中。

语法

groupArraySample(max_size[, seed])(x)

参数

  • max_size — 结果数组的最大长度。UInt64
  • seed — 随机数生成器的种子。可选。UInt64。默认值:123456
  • x — 参数(列名或表达式)。

返回值

  • 由随机选取的 x 参数组成的数组。

类型:Array

示例

设有表 colors

┌─id─┬─color──┐
│  1 │ red    │
│  2 │ blue   │
│  3 │ green  │
│  4 │ white  │
│  5 │ orange │
└────┴────────┘

以列名作为参数的查询:

SELECT groupArraySample(3)(color) as newcolors FROM colors;

结果:

┌─newcolors──────────────────┐
│ ['white','blue','green']   │
└────────────────────────────┘

带列名且使用不同种子的查询:

SELECT groupArraySample(3, 987654321)(color) as newcolors FROM colors;

结果:

┌─newcolors──────────────────┐
│ ['red','orange','green']   │
└────────────────────────────┘

带表达式参数的查询:

SELECT groupArraySample(3)(concat('light-', color)) as newcolors FROM colors;

结果:

┌─newcolors───────────────────────────────────┐
│ ['light-blue','light-orange','light-green'] │
└─────────────────────────────────────────────┘