percentile
agregační funkce
Platí pro: Kontrola Databricks SQL Databricks Runtime
Vrátí přesnou hodnotu percentilu expr
v zadané percentage
skupině.
Syntaxe
percentile ( [ALL | DISTINCT] expr, percentage [, frequency] ) [FILTER ( WHERE cond ) ]
Tuto funkci lze také vyvolat jako funkci okna pomocí klauzule OVER
.
Argumenty
expr
: Výraz, který se vyhodnotí jako číselný.percentage
: Číselný výraz mezi 0 a 1 nebo POLE číselných výrazů, každý od 0 do 1.frequency
: Volitelný celočíselný literál čísla větší než 0.cond
: Volitelný logický výraz filtrující řádky použité pro agregaci.
Vrátí
HODNOTA DOUBLE, pokud percentage
je číselná, nebo pole typu DOUBLE, pokud percentage
je polem ARRAY.
Frekvence popisuje počet, kolikrát expr
se musí počítat. Frekvence 10 pro konkrétní hodnotu odpovídá této hodnotě, která se v okně zobrazuje 10krát při frekvenci 1.
Výchozí frekvence je 1.
Pokud DISTINCT
je zadána funkce, funguje pouze s jedinečnou sadou expr
hodnot.
Příklady
> SELECT percentile(col, 0.3) FROM VALUES (0), (10), (10) AS tab(col);
6.0
> SELECT percentile(DISTINCT col, 0.3) FROM VALUES (0), (10), (10) AS tab(col);
3.0
> SELECT percentile(col, 0.3, freq) FROM VALUES (0, 1), (10, 2) AS tab(col, freq);
6.0
> SELECT percentile(col, array(0.25, 0.75)) FROM VALUES (0), (10) AS tab(col);
[2.5,7.5]