MySQL-NULL-Filterung und -Sortierung
Beim Ordnen von Daten in MySQL mit ORDER BY werden Nullwerte als 0 behandelt, was zu Inkonsistenzen in der gewünschten Reihenfolge führt . Um dieses Problem zu beheben, sollten Sie die Verwendung einer speziellen Syntax in Betracht ziehen, um Nullen am Ende der sortierten Liste zu erzwingen.
Um Werte in aufsteigender Reihenfolge zu sortieren und Nullen am Ende zu platzieren, verwenden Sie die folgende Syntax:
ORDER BY -position DESC
Dies kehrt die standardmäßige ASC-Reihenfolge für die Positionsspalte um und behandelt Nullwerte effektiv als den höchsten Wert. Indem Sie dies mit einer DESC-Reihenfolge für die ID-Spalte kombinieren, können Sie die gewünschte Reihenfolge erreichen:
SELECT * FROM tablename WHERE visible=1 ORDER BY -position DESC, id DESC
Dies führt zu der folgenden Reihenfolge:
1, 2, 3, 4, NULL, NULL, NULL
Bedenken Sie, dass diese Syntax ist ist in MySQL nicht dokumentiert und möglicherweise nicht in allen Versionen verfügbar. Eine umfassende Referenz finden Sie in der MySQL-Dokumentation zu ORDER BY mit zusätzlichen Flags.
Das obige ist der detaillierte Inhalt vonWie kann ich MySQL-Daten mit NULL-Werten am Ende sortieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!