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 window pomocí klauzule OVER
.
Argumenty
-
expr
: Číselný výraz. -
percentile
: Číselný literál mezi 0 a 1 nebo literálové pole číselného values, kde každý je mezi 0 a 1. -
accuracy
: Literál INTEGER větší než 0. Pokud je přesnost vynechána, je to set až10000
. -
cond
: Volitelný logický výraz filtrující řádky použité pro agregaci.
Návraty
Agregační funkce vrátí výraz, který představuje nejmenší hodnotu v uspořádané skupině (seřazené od nejmenšího po největší), tak, aby nejvýše percentile
z expr
values bylo menší nebo rovno 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 je zadán DISTINCT
, funkce funguje pouze na unikátní set z expr
values.
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