Существует ли способ сохранить порядок при использовании ВЫБОРА ГДЕ В ()? Например, с помощью следующего запроса:
SELECT id FROM data_table WHERE id IN(56,55,54,1,7);
Результаты возвратятся с помощью порядка по умолчанию идентификатором. 1,7,54,55,56
То, когда я хочу сохранить порядок, использовало в В: 56,55,54,1,7
Есть ли быстрый способ сделать это в MySQL, или буду я быть вынужденным заказать его после в коде.
Спасибо :)
Используйте FIND_IN_SET :
ORDER BY FIND_IN_SET(id, '56,55,54,1,7')
Вы можете выполнить UNION, который может вернуть заказ таким же образом.
НО:
Почему бы вашему приложению просто не изменить порядок результатов, когда оно их получает, вместо того, чтобы заставлять БД делать это?