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 window pomocí klauzule OVER.

Argumenty

  • expr: Číselný výraz.
  • percentile: Číselný literál mezi 0 a 1 nebo literálové pole číselného values, kde každý je mezi 0 a 1.
  • accuracy: Literál INTEGER větší než 0. Pokud je přesnost vynechána, je to set až 10000.
  • cond: Volitelný logický výraz filtrující řádky použité pro agregaci.

Návraty

Agregační funkce vrátí výraz, který představuje nejmenší hodnotu v uspořádané skupině (seřazené od nejmenšího po největší), tak, aby nejvýše percentile z exprvalues bylo menší nebo rovno 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 je zadán DISTINCT, funkce funguje pouze na unikátní set z exprvalues.

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