approx_percentile
-Aggregatfunktion
Gilt für: Databricks SQL Databricks Runtime
Gibt das ungefähre Perzentil von expr
in der Gruppe zurück.
Syntax
approx_percentile ( [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
: einINTEGER
-Literal größer 0 (null). Wenn „accuracy“ ausgelassen wird, wird der Wert auf 10000 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 zum größten Wert), sodass nicht mehr als percentile
von expr
-Werten kleiner als oder gleich diesem Wert ist.
Wenn percentile
ein Array ist, gibt approx_percentile
das ungefähre Perzentilarray von expr
bei percentile
zurück.
Der accuracy
-Parameter steuert die Näherungsgenauigkeit auf Kosten von Arbeitsspeicher.
Ein höherer accuracy-Wert ergibt eine bessere Genauigkeit. 1.0/accuracy
ist der relative Fehler der Näherung.
Diese Funktion ist ein Synonym für die percentile_approx-Aggregatfunktion.
Wenn DISTINCT
angegeben wird, wird die Funktion nur für eine eindeutige Menge von expr
-Werten ausgeführt.
Beispiele
> SELECT approx_percentile(col, array(0.5, 0.4, 0.1), 100) FROM VALUES (0), (1), (2), (10) AS tab(col);
[1,1,0]
> SELECT approx_percentile(col, 0.5, 100) FROM VALUES (0), (6), (6), (7), (9), (10) AS tab(col);
6
> SELECT approx_percentile(DISTINCT col, 0.5, 100) FROM VALUES (0), (6), (6), (7), (9), (10) AS tab(col);
7