Я пытаюсь сделать условие ORDER BY
в SQL, но я получаю сообщение об ошибке: column "ended" does not exist
, указывающий на «случай, когда« закончил »часть запроса.Почему я получаю столбец «закончился» не существует?
Вот мой запрос:
SELECT (EXTRACT(EPOCH FROM SUBMISSION_DEADLINE)
-EXTRACT(EPOCH FROM now())) AS "datediff"
, (EXTRACT(EPOCH FROM SUBMISSION_DEADLINE)>EXTRACT(EPOCH FROM now())) AS "ended", *
FROM imdown_api_v1_contest
ORDER BY "ended" DESC, case when "ended" = true then "datediff" else "-datediff" END ASC;
мне нужно, чтобы захватить конкурсы, которые не закончились первыми и заказать те, по одному кончаться первым. Тогда мне нужны все те, которые закончились, и закажите те, которые закончились совсем недавно.
Один из вариантов - переместить запрос (без 'order by') в подзапрос, а затем добавить' order by' обратно. Это должно признать колонку 'законченный' ... – sgeddes