Перейти к основному содержанию
Перейти к основному содержанию

groupArraySample

Создаёт массив случайных значений аргумента. Размер результирующего массива ограничен max_size элементами. Значения аргумента выбираются и добавляются в массив случайным образом.

Синтаксис

groupArraySample(max_size[, seed])(x)

Аргументы

  • max_size — Максимальный размер возвращаемого массива. UInt64.
  • seed — Начальное значение для генератора случайных чисел (seed). Необязательный параметр. UInt64. Значение по умолчанию: 123456.
  • x — Аргумент (имя столбца или выражение).

Возвращаемые значения

  • Массив случайным образом выбранных значений x.

Тип: Array.

Примеры

Рассмотрим таблицу colors:

┌─id─┬─color──┐
│  1 │ красный    │
│  2 │ синий   │
│  3 │ зеленый  │
│  4 │ белый  │
│  5 │ оранжевый │
└────┴────────┘

Запрос, в котором имя столбца передаётся как аргумент:

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

Результат:

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

Запрос с именем столбца и другим значением seed:

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'] │
└─────────────────────────────────────────────┘