approx_percentile
funkcja agregacji
Dotyczy: Databricks SQL
Databricks Runtime
Zwraca przybliżony percentyl expr
w grupie.
Składnia
approx_percentile ( [ALL | DISTINCT] expr, percentile [, accuracy] ) [ FILTER ( WHERE cond ) ]
Tę funkcję można również wywołać jako funkcję okna przy użyciu klauzuli OVER
.
Argumenty
-
expr
: wyrażenie liczbowe. -
percentile
: literał liczbowy z zakresu od 0 do 1 lub tablica wartości liczbowych, z których każda mieści się w przedziale od 0 do 1. -
accuracy
: LiterałINTEGER
większy niż 0. Jeśli dokładność zostanie pominięta, zostanie ustawiona wartość 10000. -
cond
: opcjonalne wyrażenie logiczne filtrujące wiersze używane do agregacji.
Zwraca
Funkcja agregacji zwraca wyrażenie, które jest najmniejszą wartością w uporządkowanej grupie (posortowanej od najmniej do największej), tak aby nie więcej niż percentile
wartości expr
było mniejsze niż wartość lub równa tej wartości.
Jeśli percentile
jest tablicą, approx_percentile
zwraca przybliżoną tablicę percentylową wartości expr
przy percentile
.
Parametr accuracy
kontroluje dokładność przybliżenia kosztem pamięci.
Wyższa wartość dokładności daje lepszą dokładność, 1.0/accuracy
jest względnym błędem przybliżenia.
Ta funkcja jest synonimem funkcji agregującej percentile_approx.
Jeśli DISTINCT
jest określony, funkcja działa tylko na unikatowym zestawie wartości expr
.
Przykłady
> 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