Sdílet prostřednictvím


percentile agregační funkce

Platí pro:check označeno ano Kontrola Databricks SQL označená ano 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]