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 statistische functie.

Syntaxis

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

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

Argumenten

  • expr: Een numerieke expressie.
  • percentile: een numerieke letterlijke waarde tussen 0 en 1 of een letterlijke matrix van numerieke values, elk tussen 0 en 1.
  • accuracy: Een letterlijk geheel getal groter dan 0. Als de nauwkeurigheid wordt weggelaten, is het van set tot 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 exprvalues kleiner is dan de waarde of gelijk is aan die waarde. Als percentile dit een matrix percentile_approx, retourneert u de percentielmatrix van expr 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 van exprvalues.

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