Здравствуйте. пытаюсь понять как отсортировать вот такой запрос:
select id, text from mytable where id in (5,13,2,1,6,10);
отсортировать нужно в том же порядке, что и в списке id, т е 5,13,2,1,6,10
Нашел вот такой вариант:
select id, text from mytable where id in (5,1,13,10) order by id=5 DESC, id=1 DESC, id=13 DESC, id=10 DESC;
но если у меня в in 20-30 значений, то получится очень большая портянка.
Вопрос номер 2: насколько оптимален такой запрос при большом списке id? при каком размере списка мне следует изменить запрос, вычислять строки как то по другому?