percentile_approx
agregační funkce
Platí pro: Databricks SQL Databricks Runtime
Vrátí přibližný percentil expr
skupiny. Tato funkce je synonymem approx_percentile agregační funkce.
Syntaxe
percentile_approx ( [ALL | DISTINCT ] expr, percentile [, accuracy] ) [FILTER ( WHERE cond ) ]
Tuto funkci lze také vyvolat jako funkci okna pomocí OVER
klauzule.
Argumenty
expr
: Číselný výraz.percentile
: Číselný literál mezi 0 a 1 nebo literálovou maticí číselných hodnot, každý mezi 0 a 1.accuracy
: Literál INTEGER větší než 0. Pokud je přesnost vynechána, je nastavena na10000
hodnotu .cond
: Volitelný logický výraz filtrující řádky použité pro agregaci.
Návraty
Agregační funkce vrátí výraz, který je nejmenší hodnotou v seřazené skupině (seřazené od nejmenšího k největšímu), aby ne více než percentile
hodnoty expr
byly menší než hodnota nebo se rovna této hodnotě.
Pokud percentile
je pole percentile_approx, vrátí přibližnou percentilovou expr
matici na zadaném percentilu.
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.
Pokud DISTINCT
je zadána funkce funguje pouze s jedinečnou sadou expr
hodnot.
Příklady
> 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