Delen via


percentile_approx 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. Deze functie is een synoniem voor approx_percentile de statistische functie.

Syntaxis

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

Deze functie kan ook worden aangeroepen als een vensterfunctie met behulp van de OVER clausule.

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 letterlijk geheel getal 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 een array met percentile_approx is, retourneert het de benaderde percentielarray van expr bij het opgegeven percentiel.

De accuracy parameter bepaalt de nauwkeurigheid van de benadering ten koste van het geheugen. Een hogere nauwkeurigheid levert betere nauwkeurigheid op, 1.0/accuracy is de relatieve fout van de benadering.

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

Voorbeelden

> 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