approx_percentile
agregační funkce
Platí pro: Databricks SQL
Databricks Runtime
Vrátí přibližný percentil expr
skupiny.
Syntaxe
approx_percentile ( [ALL | DISTINCT] expr, percentile [, accuracy] ) [ FILTER ( WHERE cond ) ]
Tuto funkci lze také vyvolat jako funkci okna pomocí klauzule OVER
.
Argumenty
-
expr
: Číselný výraz. -
percentile
: Číselný literál mezi 0 a 1 nebo polem literálů číselných hodnot, každá hodnota mezi 0 a 1. -
accuracy
INTEGER
: Literál větší než 0. Pokud je přesnost vynechána, je nastavená na 1 0000. -
cond
: Volitelný logický výraz filtrující řádky použité pro agregaci.
Návraty
Agregační funkce vrátí ten výraz, který je nejmenší hodnotou v seřazené skupině (seřazené od nejmenší po největší), přičemž ne více než percentile
z expr
hodnot je menší nebo rovno této hodnotě.
Pokud percentile
je matice, approx_percentile
vrátí přibližnou percentilovou expr
matici at percentile
.
Parametr accuracy
řídí přesnost aproximace za cenu paměti.
Vyšší hodnota přesnosti přináší lepší přesnost, 1.0/accuracy
je relativní chyba aproximace.
Tato funkce je synonymem percentile_approx agregační funkce.
Pokud je zadán DISTINCT
, funkce pracuje pouze s jedinečnou sadou expr
hodnot.
Příklady
> 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