Dela via


percentile aggregatfunktion

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

Returnerar det exakta percentilvärdet expr för vid angivet percentage i en grupp.

Syntax

percentile ( [ALL | DISTINCT] expr, percentage [, frequency] ) [FILTER ( WHERE cond ) ]

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

Argument

  • expr: Ett uttryck som utvärderas till ett numeriskt uttryck.
  • percentage: Ett numeriskt uttryck mellan 0 och 1 eller en samling ARRAY av numeriska uttryck, var och en mellan 0 och 1.
  • frequency: En valfri integralnummerliteral som är större än 0.
  • cond: Ett valfritt booleskt uttryck som filtrerar de rader som används för aggregering.

Returer

DOUBLE om percentage är numeriskt eller om ARRAY<DOUBLE>percentage är en ARRAY.

Frekvens beskriver hur många gånger expr som måste räknas. En frekvens på 10 för ett visst värde motsvarar det värdet som visas 10 gånger i fönstret med en frekvens på 1. Standardfrekvensen är 1.

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

Exempel

> SELECT percentile(col, 0.3) FROM VALUES (0), (10), (10) AS tab(col);
 6.0

> SELECT percentile(DISTINCT col, 0.3) FROM VALUES (0), (10), (10) AS tab(col);
 3.0

> SELECT percentile(col, 0.3, freq) FROM VALUES (0, 1), (10, 2) AS tab(col, freq);
 6.0

> SELECT percentile(col, array(0.25, 0.75)) FROM VALUES (0), (10) AS tab(col);
 [2.5,7.5]