Partager via


Fonction d’agrégation percentile_approx

S’applique à :case marquée oui Databricks SQL case marquée oui Databricks Runtime

Retourne le centile approximatif de expr au sein du groupe. Cette fonction est un synonyme de la fonction d’agrégation approx_percentile.

Syntaxe

percentile_approx ( [ALL | DISTINCT ] expr, percentile [, accuracy] ) [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 numérique.
  • percentile : littéral numérique compris entre 0 et 1 ou un tableau littéral de valeurs numériques, chacune comprise entre 0 et 1.
  • accuracy : littéral INTEGER supérieur à 0. Si l’exactitude est omise, elle est définie sur 10000.
  • cond : expression booléenne facultative qui filtre les lignes utilisées pour l’agrégation.

Retours

La fonction d’agrégation retourne l’expression qui est la plus petite valeur du groupe ordonné (triée de la moins à la plus grande) de telle sorte que moins de percentile sur expr valeurs ne soit inférieure à la valeur ou égale à cette valeur. Si percentile est un tableau percentile_approx de tableau, retourne le tableau de centile approximatif de expr au centile spécifié.

Le paramètre accuracy contrôle l’exactitude de l’approximation au détriment de la mémoire. Une plus grande valeur d’exactitude donne une meilleure exactitude. 1.0/accuracy est l’erreur relative de l’approximation.

Si DISTINCT est spécifié, la fonction ne s’applique qu’à un ensemble unique de valeurs expr.

Exemples

> SELECT percentile_approx(col, array(0.5, 0.4, 0.1), 100)
    FROM VALUES (0), (1), (2), (10) AS tab(col);
 [1,1,0]

> SELECT percentile_approx(col, 0.5, 100)
    FROM VALUES (0), (6), (7), (9), (10), (10), (10) AS tab(col);
 9

> SELECT percentile_approx(DISTINCT col, 0.5, 100)
    FROM VALUES (0), (6), (7), (9), (10), (10), (10) AS tab(col);
 7