In einer SQL Server-Datenbank habe ich eine Tabelle mit Werten, die mich interessieren.
Wenn ich RANK () OVER (ORDER BY VALUE DESC) als RANK führe, erhalte ich folgende Ergebnisse (in einer hypothetischen Tabelle):
%Vor%Das Problem ist, ich möchte nicht, dass die Zeilen, die NULL für einen VALUE haben, einen Rang bekommen - ich brauche eine Möglichkeit, den Rang für diese auf NULL zu setzen. Bis jetzt hat die Suche im Internet keine Antworten darauf ergeben, wie ich dazu in der Lage sein könnte.
Vielen Dank für Ihre Hilfe.
Die früher bereitgestellte CASE-Anweisung würde die NULL-Datensätze im Rang zählen, wenn SORT BY aufsteigend statt absteigend wäre. Dies würde die Rangfolge bei 5 statt 1 beginnen - wahrscheinlich nicht was gewünscht ist.
Um sicherzustellen, dass die Nullen nicht im Rang gezählt werden, können Sie sie nach unten zwingen, indem Sie ein Anfangssortierkriterium hinzufügen, ob der Wert NULL ist oder nicht, etwa so:
%Vor%*** Kredit an Hugo Kornelis: Ссылка