Heim > Datenbank > MySQL-Tutorial > Wie sortiere ich MySQL-Ergebnisse mit NULL-Werten zuletzt?

Wie sortiere ich MySQL-Ergebnisse mit NULL-Werten zuletzt?

Linda Hamilton
Freigeben: 2024-12-09 00:29:09
Original
1067 Leute haben es durchsucht

How to Sort MySQL Results with NULL Values Last?

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
Nach dem Login kopieren

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
Nach dem Login kopieren
Nach dem Login kopieren

Verwenden der Standardposition ORDER BY ASC, id DESC-Anweisung würde zu Folgendem führen:

NULL, NULL, NULL, 1, 2, 3, 4
Nach dem Login kopieren
Nach dem Login kopieren

Die Verwendung der -position DESC-Syntax würde jedoch die gewünschte Reihenfolge erzeugen:

1, 2, 3, 4, NULL, NULL, NULL
Nach dem Login kopieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage