Udostępnij za pośrednictwem


percentile_approx aggregate, funkcja

Dotyczy:sprawdź oznaczone jako tak Zaznaczone pole wyboru SQL usługi Databricks oznaczone jako tak Databricks Runtime

Zwraca przybliżony percentyl expr wewnątrz grupy. Ta funkcja jest synonimem approx_percentile funkcji agregującej.

Składni

percentile_approx ( [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 literałów wartości liczbowych, z których każda ma wartość od 0 do 1.
  • accuracy: literał INTEGER większy niż 0. Jeśli dokładność zostanie pominięta, jest ustawiona na 10000wartość .
  • 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ż wartość expr była mniejsza niż percentile wartość lub równa tej wartości. Jeśli percentile jest tablicą percentile_approx, zwraca przybliżoną tablicę expr percentylu w określonym percentylu.

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 określono funkcję, działa tylko na unikatowym expr zestawie wartości.

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