percentile
-Aggregatfunktion
Gilt für: Databricks SQL Databricks Runtime
Gibt den genauen Perzentilwert von expr
am angegebenen percentage
-Wert in einer Gruppe zurück.
Syntax
percentile ( [ALL | DISTINCT] expr, percentage [, frequency] ) [FILTER ( WHERE cond ) ]
Diese Funktion kann auch mithilfe der OVER
-Klausel als Fensterfunktion aufgerufen werden.
Argumente
expr
: Ein Ausdruck, der in einen numerischen Wert ausgewertet wird.percentage
: Ein numerischer Ausdruck zwischen 0 und 1 oder ein ARRAY numerischer Ausdrücke, die jeweils zwischen 0 und 1 liegen.frequency
: Ein optionales integrales Zahlenliteral, das größer als 0 ist.cond
: Ein optionaler boolescher Ausdruck, der die für die Aggregation verwendeten Zeilen filtert.
Gibt zurück
DOUBLE, wenn percentage
numerisch ist, oder ein ARRAY von DOUBLE, wenn percentage
ein ARRAY ist.
„frequency“ beschreibt, wie oft expr
gezählt werden muss. Wenn „frequency“ für einen bestimmten Wert 10 ist, wird der betreffende Wert mit einer Häufigkeit von 1 zehnmal im Fenster angezeigt wird.
Der Standardwert für „frequency“ ist 1.
Wenn DISTINCT
angegeben wird, wird die Funktion nur für eine eindeutige Menge von expr
-Werten ausgeführt.
Beispiele
> 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]