ответ правильный на заданный вопрос. Однако я хочу дополнительно оптимизировать код, а также сделать возможным использование DISTINCT в запросе, что невозможно при данном решении.
Посмотрев немного больше, я обнаружил, что вы можете переместить оператор CASE WHEN в select вместо того, чтобы в порядке, указанном ниже:
select distinct route, case when stop_order >= 3 then 0 else 1 end as sorted_by from routes
where route = 'Red'
order by sorted_by, stop_order
;
Надеюсь, что это поможет нескольким людям, имеющим проблемы с заказом, а также использовать DISTINCT.