ClickHouse/docs/ru/sql-reference/aggregate-functions/reference/grouparraysample.md
Dmitriy aad98b368e Edit and translate to Russian
Поправил шаблоны в английской и русской версиях.
2021-03-13 21:18:45 +03:00

2.9 KiB
Raw Blame History

toc_priority
114

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