Rank() mvSQL-Datenbankfunktion im Jitterbit App Builder
Zusammenfassung
Nummeriert jede Zeile innerhalb eines Satzes fortlaufend, sortiert nach einer oder mehreren Spalten, beginnend bei 1. Diese Funktion erfordert die ORDER BY
Modifikator und unterstützt auch die PARTITION BY
Modifikator. Wenn der ORDER BY
ist innerhalb des Sets nicht eindeutig, die duplizierten Zeilen werden mit dem gleichen Rang indexiert, der nächste Index überspringt die Lücke (wie Platzierungen bei einem Wettbewerb).
Syntax
RANK(ORDER BY <column 1>)
RANK(PARTITION BY <column 2> ORDER BY <column 1>)
Parameter
Modifikator
Diese Funktion erfordert die ORDER BY
Modifikator und unterstützt die PARTITION BY
Modifikator.
Spalte 1
Ein Verweis auf eine Spalte.
Spalte 2
Ein Verweis auf eine Spalte.
Rückgaben
Eine fortlaufende Nummer, die jeder Zeile im Abfrage zugewiesen wird. Wenn es einen Konflikt gibt, erhalten beide Datensätze die gleiche Indexnummer, der nächste Datensatz überspringt diese (wie Platzierungen in einem Turnier), was bedeutet, dass es Lücken zwischen den Indizes geben kann. Die ORDER BY
Modifikator erforderlich ist, und die PARTITION BY
Modifikator ist optional und wird ebenfalls unterstützt. Abhängig von den in der Syntax verwendeten Modifikatoren werden die Ergebnisse entsprechend sortiert.
Beispiele
Für die unten aufgeführten Beispiele gehen wir davon aus, dass die folgenden Daten zur Abfrage verfügbar sind:
Kunden-ID | Kontakt-ID | Hinzugefügt am |
---|---|---|
1 | 1 | 01.04.2023 |
1 | 2 | 02.04.2023 |
2 | 3 | 01.04.2023 |
2 | 3 | 03.04.2023 |
-
RANK(ORDER BY AddedOn)
gibt zurück:Rang Kunden-ID Kontakt-ID Hinzugefügt am 1 1 1 01.04.2023 3 1 2 02.04.2023 1 2 3 01.04.2023 4 2 3 03.04.2023 -
RANK(PARTITION BY CustomerId ORDER BY AddedOn)
gibt zurück:Rang Kunden-ID Kontakt-ID Hinzugefügt am 1 1 1 01.04.2023 2 1 2 02.04.2023 1 2 3 01.04.2023 2 2 3 03.04.2023 -
RANK(PARTITION BY ContactId, Year(AddedOn) ORDER BY CustomerId, AddedOn)
gibt zurück:Rang Kunden-ID Kontakt-ID Hinzugefügt am 1 1 1 01.04.2023 1 1 2 02.04.2023 1 2 3 01.04.2023 2 2 3 03.04.2023