percentile_approx
mängdfunktion
Gäller för: Databricks 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