groupArraySample
Introduit dans : v20.3.0
Crée un tableau contenant un échantillon de valeurs d’argument.
La taille du tableau résultant est limitée à max_size éléments.
Les valeurs d’argument sont sélectionnées aléatoirement et ajoutées au tableau.
Syntaxe
groupArraySample(max_size[, seed])(x)Paramètres
max_size— Taille maximale du tableau résultant.UInt64seed— Facultatif. Graine du générateur de nombres aléatoires. Valeur par défaut : 123456.UInt64x— Argument (nom de colonne ou expression).Any
Arguments
array_column— Colonne contenant les tableaux à agréger.Array
Valeur retournée
Tableau de valeurs x sélectionnées aléatoirement. Array(T)
Exemples
Exemple d'utilisation
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'] │
└────────────────────────────┘Exemple avec une graine
-- Query with column name and different seed
SELECT groupArraySample(3, 987654321)(color) as newcolors FROM colors;┌─newcolors────────────────┐
│ ['red','orange','green'] │
└──────────────────────────┘Utiliser une expression comme argument
-- Query with expression as argument
SELECT groupArraySample(3)(concat('light-', color)) as newcolors FROM colors;┌─newcolors───────────────────────────────────┐
│ ['light-blue','light-orange','light-green'] │
└─────────────────────────────────────────────┘