メインコンテンツへスキップ
メインコンテンツへスキップ

groupArraySample

groupArraySample

導入されたバージョン: v20.3

引数値のサンプルを要素とする配列を作成します。 生成される配列のサイズは max_size 要素に制限されます。 引数値はランダムに選択され、配列に追加されます。

構文

groupArraySample(max_size[, seed])(x)

パラメータ

  • max_size — 生成される配列の最大サイズ。UInt64
  • seed — 省略可能。乱数生成器のシード値。デフォルト値は 123456。UInt64
  • x — 引数(カラム名または式)。Any

引数

  • array_column — 集約対象となる配列を含むカラム。Array

返される値

引数 x からランダムに選択された要素の配列。Array(T)

使用例

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;
┌─newcolors──────────────────┐
│ ['white','blue','green']   │
└────────────────────────────┘

シード値を使用した例

-- Query with column name and different seed
SELECT groupArraySample(3, 987654321)(color) as newcolors FROM default.colors;
┌─newcolors──────────────────┐
│ ['red','orange','green']   │
└────────────────────────────┘

引数に式を指定する

-- Query with expression as argument
SELECT groupArraySample(3)(concat('light-', color)) as newcolors FROM default.colors;
┌─newcolors───────────────────────────────────┐
│ ['light-blue','light-orange','light-green'] │
└─────────────────────────────────────────────┘