Introduzido na versão: v20.3.0
Cria um array com valores de argumento de amostra.
O tamanho do array resultante é limitado a max_size elementos.
Os valores dos argumentos são selecionados e adicionados ao array aleatoriamente.
Sintaxe
groupArraySample(max_size[, seed])(x)
Parâmetros
max_size — Tamanho máximo do array resultante. UInt64
seed — Opcional. Semente para o gerador de números aleatórios. Valor padrão: 123456. UInt64
x — Argumento (nome da coluna ou expressão). Any
Argumentos
array_column — Coluna que contém arrays a serem agregados. Array
Valor retornado
Array de argumentos x selecionados aleatoriamente. Array(T)
Exemplos
Exemplo de uso
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'] │
└────────────────────────────┘
Exemplo com seed
-- Consulta com nome de coluna e seed diferente
SELECT groupArraySample(3, 987654321)(color) as newcolors FROM default.colors;
┌─newcolors──────────────────┐
│ ['red','orange','green'] │
└────────────────────────────┘
Usando uma expressão como argumento
-- Consulta com expressão como argumento
SELECT groupArraySample(3)(concat('light-', color)) as newcolors FROM default.colors;
┌─newcolors───────────────────────────────────┐
│ ['light-blue','light-orange','light-green'] │
└─────────────────────────────────────────────┘
Última modificação em 10 de junho de 2026