Sdílet prostřednictvím


approx_percentile 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.

Syntaxe

approx_percentile ( [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.
  • accuracyINTEGER: Literál větší než 0. Pokud je přesnost vynechána, je nastavená na 1 0000.
  • 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 maximálně percentile hodnot expr bylo menší než hodnota nebo rovna této hodnotě.

Pokud percentile je matice, approx_percentile vrátí přibližnou percentilovou expr matici at percentile. 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. Tato funkce je synonymem percentile_approx agregační funkce.

Pokud DISTINCT je zadána funkce funguje pouze s jedinečnou sadou expr hodnot.

Příklady

> SELECT approx_percentile(col, array(0.5, 0.4, 0.1), 100) FROM VALUES (0), (1), (2), (10) AS tab(col);
 [1,1,0]

> SELECT approx_percentile(col, 0.5, 100) FROM VALUES (0), (6), (6), (7), (9), (10) AS tab(col);
 6

> SELECT approx_percentile(DISTINCT col, 0.5, 100) FROM VALUES (0), (6), (6), (7), (9), (10) AS tab(col);
 7