Sdílet prostřednictvím


percentile_approx agregační funkce

Platí pro:zaškrtnutá možnost Ano , kontrola Databricks SQL označená ano 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 na 10000.
  • 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