Fonction d’agrégation percentile
S’applique à : Databricks SQL Databricks Runtime
Retourne la valeur de percentile exacte de expr
au percentage
spécifié dans un groupe.
Syntaxe
percentile ( [ALL | DISTINCT] expr, percentage [, frequency] ) [FILTER ( WHERE cond ) ]
Cette fonction peut également être appelée en tant que fonction de fenêtre à l’aide de la clause OVER
.
Arguments
expr
: Expression qui prend une valeur numérique.percentage
: expression numérique comprise entre 0 et 1 ou valeur de type ARRAY d’expressions numériques, chacune comprise entre 0 et 1.frequency
: littéral numérique entier facultatif supérieur à 0.cond
: expression booléenne facultative qui filtre les lignes utilisées pour l’agrégation.
Retours
DOUBLE si percentage
est numérique, ou ARRAY de DOUBLE si percentage
est ARRAY.
La fréquence indique le nombre de fois où expr
doit être compté. Une fréquence de 10 pour une valeur spécifique équivaut à cette valeur apparaissant 10 fois dans la fenêtre à une fréquence de 1.
La fréquence par défaut est de 1.
Si DISTINCT
est spécifié, la fonction ne s’applique qu’à un ensemble unique de valeurs expr
.
Exemples
> SELECT percentile(col, 0.3) FROM VALUES (0), (10), (10) AS tab(col);
6.0
> SELECT percentile(DISTINCT col, 0.3) FROM VALUES (0), (10), (10) AS tab(col);
3.0
> SELECT percentile(col, 0.3, freq) FROM VALUES (0, 1), (10, 2) AS tab(col, freq);
6.0
> SELECT percentile(col, array(0.25, 0.75)) FROM VALUES (0), (10) AS tab(col);
[2.5,7.5]