Share via


percentile funzione di aggregazione

Si applica a:check contrassegnato con sì controllo SQL di Databricks contrassegnato con sì Databricks Runtime

Restituisce il valore percentile esatto di in corrispondenza dell'oggetto expr specificato percentage in un gruppo.

Sintassi

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

Questa funzione può anche essere richiamata come funzione window usando la OVER clausola .

Argomenti

  • expr: espressione che restituisce un valore numerico.
  • percentage: espressione numerica compresa tra 0 e 1 o matrice di espressioni numeriche, ognuna compresa tra 0 e 1.
  • frequency: valore letterale numero integrale facoltativo maggiore di 0.
  • cond: espressione booleana facoltativa che filtra le righe usate per l'aggregazione.

Restituisce

DOUBLE se percentage è numerico o MATRICE di DOUBLE se percentage è una matrice.

La frequenza descrive il numero di volte expr in cui è necessario contare. Una frequenza pari a 10 per un valore specifico equivale a tale valore che appare 10 volte nella finestra con una frequenza pari a 1. La frequenza predefinita è 1.

Se DISTINCT viene specificata, la funzione opera solo su un set univoco di expr valori.

Esempi

> 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]