Nullwerte werden nach allen anderen Werten sortiert, mit Ausnahme von Sonderwerten
Ich habe eine PostgreSQL-Artikeltabelle mit einem optionalen Bestellfeld:
CREATE TABLE tasks (
id integer PRIMARY KEY DEFAULT nextval('f_seq'),
f_id integer REFERENCES fixins,
name text NOT NULL,
sort integer
);
Ich möchte Aufgaben, die keine habensort
Wert, der nach allen anderen sortiert werden soll, mit einer Ausnahme: ifsort = -1
Ich möchte, dass es danach sortiert. Also zum Beispiel mit diesen Werten:
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 |
Ich möchte, dass sie sortieren wie:alpha
, beta
, gamma
, delta
, epsilon
, zeta
.
Ich weiß, dass ich verwenden kannORDER BY COALESCE(sort,99999)
Null-Werte nach Nicht-Nullen zu bestellen, aber wie kann ich das besondere bekommen-1
Wert darauf zu kommen?