Partager via


Fonction d’agrégation percentile

S’applique à :case marquée oui Databricks SQL case marquée oui 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]