Sdílet prostřednictvím


percentile_approx agregační funkce

Platí pro: zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano 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 okna pomocí OVER klauzule.

Argumenty

  • expr: Číselný výraz.
  • percentile: Číselný literál mezi 0 a 1 nebo literálovou maticí číselných hodnot, každý mezi 0 a 1.
  • accuracy: Literál INTEGER větší než 0. Pokud je přesnost vynechána, je nastavena na 10000hodnotu .
  • cond: Volitelný logický výraz filtrující řádky použité pro agregaci.

Návraty

Agregační funkce vrátí výraz, který je nejmenší hodnotou v seřazené skupině (seřazené od nejmenšího k největšímu), aby ne více než percentile hodnoty expr byly menší než hodnota nebo se rovna 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 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