Heim >Datenbank >MySQL-Tutorial >Wie sortiere ich MySQL-Ergebnisse mit NULL-Werten zuletzt?
So ordnen Sie MySQL-Ergebnisse mit Nullwerten zuletzt an
Beim Sortieren von MySQL-Ergebnissen mit einer numerischen Spalte können Nullwerte ohnehin schon problematisch sein als Null behandelt. Dies kann zu einer unerwarteten Reihenfolge führen, bei der Nullwerte vor Nicht-Nullwerten erscheinen.
Um dieses Problem zu beheben, bietet MySQL eine undokumentierte Syntax, die es Ihnen ermöglicht, Nullwerte zuletzt zu sortieren. Dies wird erreicht, indem vor dem Spaltennamen ein Minuszeichen (-) platziert und ASC auf DESC umgestellt wird:
SELECT * FROM tablename WHERE visible=1 ORDER BY -position DESC, id DESC
Diese Syntax kehrt im Wesentlichen die Position DESC-Reihenfolge um, indem Nullwerte an letzter Stelle platziert werden, während die gleiche Reihenfolge für beibehalten wird Nicht-Null-Werte.
Zum Beispiel, wenn Sie die folgenden Daten haben:
NULL, NULL, NULL, 1, 2, 3, 4
Verwenden der Standardposition ORDER BY ASC, id DESC-Anweisung würde zu Folgendem führen:
NULL, NULL, NULL, 1, 2, 3, 4
Die Verwendung der -position DESC-Syntax würde jedoch die gewünschte Reihenfolge erzeugen:
1, 2, 3, 4, NULL, NULL, NULL
Diese undokumentierte Syntax bietet eine praktische Möglichkeit, dies sicherzustellen dass Nullwerte in MySQL-Ergebnissen zuletzt sortiert werden. Es ist wichtig zu beachten, dass dies keine Standard-SQL-Funktion ist und möglicherweise nicht in allen Datenbanksystemen unterstützt wird.
Das obige ist der detaillierte Inhalt vonWie sortiere ich MySQL-Ergebnisse mit NULL-Werten zuletzt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!