Добавленный в: v20.3.0
Создаёт массив из выборочных значений аргумента.
Размер результирующего массива ограничен max_size элементами.
Значения аргумента выбираются случайным образом и добавляются в массив.
Синтаксис
groupArraySample(max_size[, seed])(x)
Параметры
max_size — Максимальный размер результирующего массива. UInt64
seed — Необязательно. Значение 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'] │
└────────────────────────────┘
Пример с использованием seed
-- Запрос с именем столбца и другим seed
SELECT groupArraySample(3, 987654321)(color) as newcolors FROM default.colors;
┌─newcolors──────────────────┐
│ ['red','orange','green'] │
└────────────────────────────┘
Использование выражения в качестве аргумента
-- Запрос с выражением в качестве аргумента
SELECT groupArraySample(3)(concat('light-', color)) as newcolors FROM default.colors;
┌─newcolors───────────────────────────────────┐
│ ['light-blue','light-orange','light-green'] │
└─────────────────────────────────────────────┘
Последнее изменение 10 июня 2026 г.