percent_rank
rangschikkingsvensterfunctie
Van toepassing op: Databricks Databricks Runtime
Berekent de percentageclassificatie van een waarde binnen de partitie.
Syntaxis
percent_rank()
Argumenten
De functie heeft geen argumenten
Retourneert
EEN DUBBELE.
De functie wordt gedefinieerd als de rang binnen het venster min één gedeeld door het aantal rijen in het venster min 1. Als er slechts één rij in het venster is, is de rang 0.
Als een expressie kan het semantische 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 vensterfunctie.
U moet de ORDER BY-component opnemen in de vensterspecificatie.
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