Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Databricks SQL
Databricks Runtime
Vrátí přesnou percentilovou expr hodnotu 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 neboARRAYčíselných výrazů, každý v rozmezí 0 až 1. -
frequency: Volitelný celočíselný literál větší než 0. -
cond: Volitelný logický výraz filtrující řádky použité pro agregaci.
Návraty
DOUBLE pokud je percentage číselný, nebo je ARRAY<DOUBLE> argumentem, pokud je percentageARRAY.
Frekvence popisuje, kolikrát se expr musí počítat. Frekvence 10 pro určitou hodnotu je ekvivalentní této hodnotě, která se v okně zobrazuje 10krát s frekvencí 1.
Výchozí frekvence je 1.
Pokud je zadán DISTINCT, funkce pracuje pouze s jedinečnou sadou expr hodnot.
Azure Databricks DATATYPE_MISMATCH pokud percentage není mezi 0 a 1 nebo není konstanta.
Azure Databricks vyvolá NEGATIVE_VALUES_IN_FREQUENCY_EXPRESSION pokud je frequency negativní.
Běžné chybové podmínky
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]
> SELECT percentile(col, 1.5) FROM VALUES (1), (2) AS tab(col);
Error: DATATYPE_MISMATCH.VALUE_OUT_OF_RANGE