Быстрый и грязный способ использует instr()
:
order by instr(',5,2,1,3,4,', ',' || id ',')
Для обработки значений, не входящих в строку, вы можете преобразовать их в NULL
и отсортировать их соответственно:
order by nullif(instr(',5,2,1,3,4,', ',' || id ','), 0) nulls last