Dela via


approx_percentile mängdfunktion

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

Returnerar den ungefärliga percentilen i expr gruppen.

Syntax

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

Returer

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 expr är mindre än percentile värdet eller lika med det värdet.

Om percentile är en matris approx_percentile returnerar den ungefärliga percentilmatrisen expr på vid percentile. Parametern accuracy styr uppskattningsnoggrannheten på kostnaden för minne. Ett högre noggrannhetsvärde ger bättre noggrannhet, 1.0/accuracy är det relativa felet i uppskattningen. Den här funktionen är synonym för percentile_approx mängdfunktion.

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

Exempel

> 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