Delen via


approx_percentile statistische functie

Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime

Retourneert het percentiel van de expr groep bij benadering.

Syntaxis

approx_percentile ( [ALL | DISTINCT] expr, percentile [, accuracy] ) [ FILTER ( WHERE cond ) ]

Deze functie kan ook worden aangeroepen als een vensterfunctie door de OVER clause te gebruiken.

Argumenten

  • expr: Een numerieke expressie.
  • percentile: een numerieke letterlijke waarde tussen 0 en 1 of een letterlijke matrix met numerieke waarden, elk tussen 0 en 1.
  • accuracy: Een INTEGER letterlijke waarde groter dan 0. Als de nauwkeurigheid wordt weggelaten, wordt deze ingesteld op 10000.
  • cond: Een optionele Boole-expressie die de rijen filtert die worden gebruikt voor aggregatie.

Retouren

De statistische functie retourneert de expressie die de kleinste waarde in de geordende groep is (gesorteerd van minst naar grootste), zodat niet meer dan percentile van expr waarden kleiner is dan de waarde of gelijk is aan die waarde.

Als percentile dit een matrix is, approx_percentile retourneert u de percentielmatrix van expr bij percentile. De accuracy parameter bepaalt de nauwkeurigheid van de benadering ten koste van het geheugen. Een hogere waarde van nauwkeurigheid levert betere nauwkeurigheid op, 1.0/accuracy is de relatieve fout van de benadering. Deze functie is een synoniem voor percentile_approx statistische functie.

Als DISTINCT is opgegeven, werkt de functie alleen op een unieke set expr waarden.

Voorbeelden

> 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