Dela via


percentile mängdfunktion

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 MATRIS med 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 en MATRIS med DOUBLE om percentage är en MATRIS.

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]