groupArraySample
Introducido en: v20.3.0
Crea un array con una muestra de los valores del argumento.
El tamaño del array resultante está limitado a max_size elementos.
Los valores del argumento se seleccionan y se añaden al array de forma aleatoria.
Sintaxis
groupArraySample(max_size[, seed])(x)Parámetros
max_size— Tamaño máximo del array resultante.UInt64seed— Opcional. Semilla para el generador de números aleatorios. Valor predeterminado: 123456.UInt64x— Argumento (nombre de columna o expresión).Any
Argumentos
array_column— Columna que contiene arrays que se agregarán.Array
Valor devuelto
Array con argumentos x seleccionados aleatoriamente. Array(T)
Ejemplos
Ejemplo de uso
CREATE TABLE colors (
id Int32,
color String
) ENGINE = Memory;
INSERT INTO colors VALUES
(1, 'red'),
(2, 'blue'),
(3, 'green'),
(4, 'white'),
(5, 'orange');
SELECT groupArraySample(3)(color) as newcolors FROM colors;┌─newcolors──────────────────┐
│ ['white','blue','green'] │
└────────────────────────────┘Ejemplo con una semilla
-- Query with column name and different seed
SELECT groupArraySample(3, 987654321)(color) as newcolors FROM colors;┌─newcolors────────────────┐
│ ['red','orange','green'] │
└──────────────────────────┘Uso de una expresión como argumento
-- Query with expression as argument
SELECT groupArraySample(3)(concat('light-', color)) as newcolors FROM colors;┌─newcolors───────────────────────────────────┐
│ ['light-blue','light-orange','light-green'] │
└─────────────────────────────────────────────┘