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?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage