percentile_approx
agregační funkce
Platí pro: , kontrola Databricks SQL
Databricks Runtime
Vrátí přibližný percentil expr
ve skupině. Tato funkce je synonymem pro agregační funkci approx_percentile.
Syntaxe
percentile_approx ( [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 literálová matice číselných hodnot, každé mezi 0 a 1.accuracy
: Celočíselný literál větší než 0. Pokud je přesnost vynechána, nastaví se na10000
.cond
: Volitelný logický výraz filtrující řádky použité pro agregaci.
Vrátí
Agregační funkce vrátí výraz, který je nejmenší hodnotou v seřazené skupině (seřazené od nejnižší po nejvyšší), a to tak, že ne více než percentile
hodnota expr
je menší nebo se rovná této hodnotě.
Pokud percentile
je pole percentile_approx, vrátí přibližnou matici percentilu expr
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