Heim > Datenbank > MySQL-Tutorial > Wie ordne ich PostgreSQL-Daten mit NULL-Werten zuletzt an, mit Ausnahme eines bestimmten Werts?

Wie ordne ich PostgreSQL-Daten mit NULL-Werten zuletzt an, mit Ausnahme eines bestimmten Werts?

Susan Sarandon
Freigeben: 2025-01-04 05:33:42
Original
381 Leute haben es durchsucht

How to Order PostgreSQL Data with NULLs Last, Except for a Specific Value?

NULL-Werte nach allen anderen ordnen, mit Ausnahme von Sonderwerten

Beim Sortieren von Daten in einer PostgreSQL-Tabelle, die optionale Sortierfelder enthält, ist dies eine häufige Herausforderung verarbeitet Nullwerte. Es ist wünschenswert, Aufgaben mit Null-Sortierwerten nach allen anderen zu platzieren, Aufgaben mit einem speziellen Sortierwert wie -1 jedoch Vorrang einzuräumen.

Dies kann durch die Verwendung der COALESCE-Funktion in Verbindung mit booleschen Operatoren erreicht werden , insbesondere der Operator (IS NOT DISTINCT FROM). Die folgende Abfrage veranschaulicht diesen Ansatz:

SELECT *
FROM tasks
ORDER BY (sort IS NOT DISTINCT FROM -1), sort;
Nach dem Login kopieren

So funktioniert es:

Der Ausdruck (sort IS NOT DISTINCT FROM -1) ergibt für alle Werte außer „FALSE“. -1, was als TRUE ausgewertet wird. In der Standardsortierreihenfolge von PostgreSQL werden NULL-Werte an letzter Stelle platziert, während TRUE einen höheren Rang einnimmt als FALSE.

Durch die Einbindung dieses Ausdrucks in die ORDER BY-Klausel werden Aufgaben mit Sortierwerten von -1 nach Aufgaben mit Nicht-Werten positioniert. Null-Sortierwerte, während Aufgaben mit Null-Sortierwerten nach allen anderen Aufgaben platziert werden.

Zusätzlich Hinweis:

Eine alternative äquivalente Abfrage kann mit dem DESC-Schlüsselwort geschrieben werden:

SELECT *
FROM tasks
ORDER BY (sort IS DISTINCT FROM -1) DESC, sort;
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie ordne ich PostgreSQL-Daten mit NULL-Werten zuletzt an, mit Ausnahme eines bestimmten Werts?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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