Condividi tramite


percent_rank funzione finestra di classificazione

Si applica a:segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime

Calcola la classificazione percentuale di un valore all'interno della partizione.

Sintassi

percent_rank()

Argomenti

La funzione non accetta argomenti

Valori restituiti

A DOUBLE.

La funzione viene definita come il rango all'interno della finestra, meno uno, diviso per il numero di righe all'interno della finestra, meno 1. Se nella finestra è presente una sola riga, la classificazione è 0.

Come espressione, la semantica può essere espressa come:

nvl((rank() OVER(PARTITION BY p ORDER BY o) - 1) / nullif(count(1) OVER(PARTITION BY p) -1), 0), 0)

Questa funzione è simile, ma non uguale a cume_dist funzione della finestra analitica.

È necessario includere ORDER BY clausola nella specifica della finestra.

Esempi

> SELECT a, b, percent_rank(b) OVER (PARTITION BY a ORDER BY b)
    FROM VALUES ('A1', 2), ('A1', 1), ('A1', 3), ('A1', 6), ('A1', 7), ('A1', 7), ('A2', 3), ('A1', 1) tab(a, b)
 A1 1  0.0
 A1 1  0.0
 A1 2  0.3333333333333333
 A1 3  0.5
 A1 6  0.6666666666666666
 A1 7  0.8333333333333334
 A1 7  0.8333333333333334
 A2 3  0.0