percentile_approx
-Aggregatfunktion
Gilt für: Databricks SQL Databricks Runtime
Gibt das ungefähre Perzentil von expr
in der Gruppe zurück. Diese Funktion ist ein Synonym für die approx_percentile-Aggregatfunktion.
Syntax
percentile_approx ( [ALL | DISTINCT ] expr, percentile [, accuracy] ) [FILTER ( WHERE cond ) ]
Diese Funktion kann auch mithilfe der OVER
-Klausel als Fensterfunktion aufgerufen werden.
Argumente
expr
: Ein numerischer Ausdruck.percentile
: Ein numerisches Literal zwischen 0 und 1 oder ein Literalarray mit numerischen Werten, die jeweils zwischen 0 und 1 liegen.accuracy
: Ein INTEGER-Literal größer als 0. Wenn Genauigkeit ausgelassen wird, wird der Wert auf10000
festgelegt.cond
: Ein optionaler boolescher Ausdruck, der die für die Aggregation verwendeten Zeilen filtert.
Gibt zurück
Die Aggregatfunktion gibt den Ausdruck zurück, bei dem es sich um den kleinsten Wert in der geordneten Gruppe handelt (sortiert vom kleinsten bis zum größten Wert), sodass nicht mehr als percentile
von expr
-Werten kleiner als der Wert oder gleich diesem Wert ist.
Wenn percentile
ein Array ist, gibt percentile_approx das ungefähre Perzentilarray von expr
am angegebenen Perzentil zurück.
Der accuracy
-Parameter steuert die Näherungsgenauigkeit auf Kosten von Arbeitsspeicher.
Ein höherer Genauigkeitswert ergibt eine bessere Genauigkeit. 1.0/accuracy
ist der relative Fehler der Näherung.
Wenn DISTINCT
angegeben wird, wird die Funktion nur für eine eindeutige Menge von expr
-Werten ausgeführt.
Beispiele
> 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