Сортировка нулевых значений после всех остальных, кроме специальных

У меня есть таблица элементов PostgreSQL с необязательным полем заказа:

CREATE TABLE tasks (
  id     integer  PRIMARY KEY DEFAULT nextval('f_seq'),
  f_id   integer  REFERENCES fixins,
  name   text     NOT NULL,
  sort   integer
);

Я хочу задачи, которые не имеютsort значение для сортировки после всех остальных, с одним исключением: еслиsort = -1 Я хочу это отсортировать после тех. Так, например, учитывая эти значения:

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  |     

Я хочу, чтобы они сортировались как:alpha, beta, gamma, delta, epsilon, zeta.

Я знаю, что я могу использоватьORDER BY COALESCE(sort,99999) упорядочить нулевые значения после ненулевых, но как я могу получить этот специальный-1 ценность, чтобы прийти после тех?

Ответы на вопрос(2)

Ваш ответ на вопрос