percent_rank-Rangfolgefensterfunktion

Gilt für:durch Häkchen mit „Ja“ markiert Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime

Berechnet die prozentuale Rangfolge eines Werts innerhalb der Partition.

Syntax

percent_rank()

Argumente

Die Funktion nimmt keine Argumente an.

Gibt zurück

Einen DOUBLE-Wert.

Die Funktion wird als Rang innerhalb des Fensters minus 1, dividiert durch die Anzahl der Zeilen innerhalb des Fensters minus 1 definiert. Wenn nur eine Zeile im Fenster vorhanden ist, lautet der Rang 0.

Als Ausdruck kann die Semantik folgendermaßen ausgedrückt werden:

nvl((rank() OVER(PARTITION BY p ORDER BY o) - 1) / nullif(count(1) OVER(PARTITION BY p) -1), 0), 0)

Diese Funktion ist ähnlich, aber nicht identisch mit der cume_dist-Analysefensterfunktion .

Sie müssen die ORDER BY-Klausel in die Fensterspezifikation einschließen.

Beispiele

> 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