percent_rank
funzione finestra di rango
Si applica a: Databricks SQL 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 classificazione all'interno della finestra meno una divisa 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 la clausola ORDER BY 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