percent_rank
rangschikkingsfunctie window
Van toepassing op: Databricks SQL Databricks Runtime
Berekent de percentageclassificatie van een waarde binnen de partition.
Syntaxis
percent_rank()
Argumenten
De functie heeft geen argumenten
Retouren
EEN DUBBELE.
De functie wordt gedefinieerd als de rang binnen de window min één gedeeld door het aantal rijen binnen de window min 1. Als er slechts één rij in de window is de rang 0.
Als expressie kan de semantische expressie worden uitgedrukt als:
nvl((rank() OVER(PARTITION BY p ORDER BY o) - 1) / nullif(count(1) OVER(PARTITION BY p) -1), 0), 0)
Deze functie is vergelijkbaar, maar niet hetzelfde als cume_dist analytische window functie.
U moet clausule ORDER BY opnemen in de specificatie window.
Voorbeelden
> 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