Мне нужно отсортировать таблицу postgres по «более позднему столбцу A, откат к столбцу B»
Если мой стол выглядит так: id
, reminder_at
, updated_at
1, 01-11-2019, 12-01-2018
2, null, 01-04-2019
3, null, 01-02-2019
4, 01-01-2019, 01-04-2019
ожидаемый результат сортировки будет
4, 01-01-2019, 01-04-2019 # 01-01-2019 is soonest
3, null, 01-02-2019 # then 01-02-2019
2, null, 01-04-2019 # then 01-04-2019
1, 01-11-2019, 12-01-2018 # then 01-11-2019
В настоящее время я делаю это с кодом приложения, и я бы предпочел сделать это в SQL
Например, если Remder_at пошел в NULL для записи 1, то он сразу же перешел бы к вершине, потому что updated_at
дата является самой старой
В настоящее время:
SELECT *
FROM "tasks"
WHERE completed_at IS NULL
ORDER by reminder_at, updated_at
РЕДАКТИРОВАТЬ с правильным ответом:
SELECT *
FROM "tasks"
WHERE completed_at IS NULL
ORDER by COALESCE(reminder_at, updated_at)