rank-Rangfolgefensterfunktion

Gilt für:check marked yes Databricks SQL check marked yes Databricks Runtime

Gibt den Rang eines Werts im Vergleich zu allen Werten in der Partition zurück.

Syntax

rank()

Argumente

Diese Funktion akzeptiert keine Argumente.

Gibt zurück

Ein INTEGER-Element.

Die OVER-Klausel der Fensterfunktion muss eine ORDER BY-Klausel enthalten.

Im Gegensatz zur Funktion dense_rank erzeugt der Rang Lücken in der Rangfolge. Im Gegensatz row_number unterbricht der Rang keine Bindungen.

Wenn die Reihenfolge nicht eindeutig ist, teilen sich die Duplikate die gleiche relative frühere Position.

Beispiele

> SELECT a,
         b,
         dense_rank() OVER(PARTITION BY a ORDER BY b),
         rank() OVER(PARTITION BY a ORDER BY b),
         row_number() OVER(PARTITION BY a ORDER BY b)
    FROM VALUES ('A1', 2), ('A1', 1), ('A2', 3), ('A1', 1) tab(a, b);
 A1 1   1   1   1
 A1 1   1   1   2
 A1 2   2   3   3
 A2 3   1   1   1