percentile_approx mängdfunktion

Gäller för:check markerad ja Databricks SQL-kontroll markerad som ja Databricks Runtime

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

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 literal matris 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 det inställt på 10000.
  • cond: Ett valfritt booleskt uttryck som filtrerar de rader som används för aggregering.

Returnerar

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

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

Om DISTINCT anges körs 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