Delen via


percent_rank rangschikkingsfunctie window

Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan 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