percent_rank rangschikkingsvensterfunctie

Van toepassing op:gemarkeerd met ja Databricks SQL-controle gemarkeerd als ja 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