Dela via


percentile_approx aggregatfunktion

Gäller för:markerad ja Databricks SQL markerad ja Databricks Runtime

Returnerar den ungefärliga percentilen i expr gruppen. Den här funktionen är synonym för approx_percentile aggregatfunktion.

Syntax

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

Den här funktionen kan också anropas som en fönsterfunktion med hjälp av OVER -satsen.

Argument

  • expr: Ett numeriskt uttryck.
  • percentile: En numerisk literal mellan 0 och 1 eller en literalmatris med numeriska värden, var och en mellan 0 och 1.
  • accuracy: En INTEGER-literal som är större än 0. Om noggrannhet utelämnas är den inställd på 10000.
  • cond: Ett valfritt booleskt uttryck som filtrerar de rader som används för aggregering.

Återlämningar

Aggregeringsfunktionen returnerar uttrycket som är det minsta värdet i den ordnade gruppen (sorterade från minst till störst) så att inte mer än värden percentile är mindre än expr värdet eller lika med det värdet. Om percentile är en percentil_approx-matris returnerar den den ungefärliga percentilmatrisen för expr vid den angivna percentilen.

Parametern accuracy styr uppskattningsnoggrannheten på kostnaden för minne. Högre noggrannhetsvärde ger bättre noggrannhet, 1.0/accuracy är det relativa felet i uppskattningen.

Om DISTINCT anges fungerar funktionen endast på en unik uppsättning expr värden.

Exempel

> 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