percentile_approx
funkcja agregacji
Dotyczy: Databricks SQL Databricks Runtime
Zwraca przybliżony percentyl expr
w grupie. Ta funkcja jest synonimem approx_percentile funkcji agregującej.
Składnia
percentile_approx ( [ALL | DISTINCT ] expr, percentile [, accuracy] ) [FILTER ( WHERE cond ) ]
Tę funkcję można również wywołać jako funkcję window przy użyciu klauzuli OVER
.
Argumenty
-
expr
: wyrażenie liczbowe. -
percentile
: literał liczbowy z zakresu od 0 do 1 lub tablicy literałów liczbowych values, z których każda ma od 0 do 1. -
accuracy
: literał INTEGER większy niż 0. Jeśli dokładność zostanie pominięta, jest to od set do10000
. -
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 najmniejszej do największej), tak aby nie więcej niż percentile
z expr
values było mniejsze lub równe tej wartości.
Jeśli percentile
jest tablicą percentile_approx, zwraca przybliżoną tablicę expr
percentylu z określonego percentyla.
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.
Jeśli DISTINCT
jest podana, funkcja działa tylko na jedynym w swoim rodzaju setexpr
values.
Przykłady
> 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