Udostępnij za pośrednictwem


approx_percentile funkcja agregacji

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak 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 tablicy literałów wartości liczbowych, z których każda ma od 0 do 1.
  • accuracyINTEGER: literał 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ększejexpr), tak aby nie więcej niż wartości było mniejsze niż percentile wartość lub równa tej wartości.

Jeśli percentile jest tablicą, approx_percentile zwraca przybliżoną tablicę percentylową o expr wartości .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 percentile_approx funkcji agregującej.

Jeśli DISTINCT określono funkcję, działa tylko na unikatowym expr zestawie wartości.

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