groupArraySample

构建一个参数值的采样数组。
结果数组的大小限制为 max_size 个元素。参数值被随机选择并添加到数组中。

语法

  1. groupArraySample(max_size[, seed])(x)

参数

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

返回值

  • 随机选取参数 x (的值)组成的数组。

类型: Array.

示例

样表 colors:

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

使用列名做参数查询:

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

结果:

  1. ┌─newcolors──────────────────┐
  2. ['white','blue','green']
  3. └────────────────────────────┘

使用列名和不同的(随机数)种子查询:

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

结果:

  1. ┌─newcolors──────────────────┐
  2. ['red','orange','green']
  3. └────────────────────────────┘

使用表达式做参数查询:

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

结果:

  1. ┌─newcolors───────────────────────────────────┐
  2. ['light-blue','light-orange','light-green']
  3. └─────────────────────────────────────────────┘