groupArraySample
Создает массив из случайно выбранных значений аргумента. Количество элементов в массиве ограничено значением параметра max_size. Элементы добавляются в результирующий массив в случайном порядке.
Синтаксис
groupArraySample(max_size[, seed])(x)
Аргументы
- max_size— максимальное количество элементов в возвращаемом массиве. UInt64.
- seed— состояние генера тора случайных чисел. Необязательный параметр. UInt64. Значение по умолчанию:- 123456.
- x— аргумент (название колонки таблицы или выражение).
Возвращаемые значения
- Массив случайно выбранных значений аргумента x.
Тип: Массив.
Примеры
Рассмотрим таблицу 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'] │
└───────────────────────────────────────── ────┘