Heim >Datenbank >MySQL-Tutorial >Wie sortiere ich Nullen als letztes und einen bestimmten Wert als vorletzten in PostgreSQL?
So sortieren Sie Nullwerte nach allen anderen, mit Sonderfall
Problem:
Wie können Sie beim Sortieren einer PostgreSQL-Tabelle mit einem optionalen Sortierfeld (Sort) sicherstellen? dass:
Lösung:
Verwenden Sie das folgende SQL Anweisung:
SELECT * FROM tasks ORDER BY (sort IS NOT DISTINCT FROM -1), sort;
Erklärung:
Der Ausdruck (Sortierung unterscheidet sich nicht von -1) ergibt:
Beispiel:
Betrachten Sie das folgende Beispiel Daten:
id | f_id | name | sort ---+------+----------+------- 1 | 1 | zeta | -1 2 | 1 | alpha | 1 3 | 1 | gamma | 3 4 | 1 | beta | 2 5 | 1 | delta | 6 | 1 | epsilon |
Die Abfrage liefert das folgende sortierte Ergebnis:
id | f_id | name | sort ---+------+----------+------- 2 | 1 | alpha | 1 4 | 1 | beta | 2 3 | 1 | gamma | 3 5 | 1 | delta | 6 | 1 | epsilon | 1 | 1 | zeta | -1
Das obige ist der detaillierte Inhalt vonWie sortiere ich Nullen als letztes und einen bestimmten Wert als vorletzten in PostgreSQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!