dense_rank
-Rangfolgefensterfunktion
Gilt für: Databricks SQL Databricks Runtime
Gibt den Rang eines Werts im Vergleich zu allen Werten in der Partition zurück.
Syntax
dense_rank()
Argumente
Diese Funktion akzeptiert keine Argumente.
Gibt zurück
Ein INTEGER-Wert
Die OVER-Klausel der Fensterfunktion muss eine ORDER BY-Klausel enthalten. Im Gegensatz zur rank-Rangfolgefensterfunktion generiert dense_rank keine Lücken in der Rangfolge. Im Gegensatz zur row_number-Rangfolgefensterfunktion unterbricht dense_rank keine Bindungen. Wenn die Reihenfolge nicht eindeutig ist, teilen sich die Duplikate die gleiche relative spätere 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