MySQL - SELECT... WHERE id IN (..) - правильный порядок У меня есть следующий запрос SELECT * FROM table WHERE id IN (5,4,3,1,6) и я хочу получить элементы в порядке, указанном в "id in..", что означает, что он должен вернуться: 5 .... 4 .... 3 .... 1 .... 6 .... Любые идеи, как это сделать? Ответ 1 Используйте FIELD(): SELECT * FROM table WHERE id IN (5,4,3,1,6) ORDER BY FIELD(id, 5,4,3,1,6); Ответ 2 SELECT * FROM table WHERE id IN (5,4,3,1,6) ORDER BY FIELD (id, 5,4,3,1,6) Ответ 3 Если кто-то все еще ищет, я просто нашел его. SELECT * FROM `table` WHERE `id` IN (4, 3, 1) ORDER BY FIELD(`id`, 4, 3, 1) И ссылку для функции, которую вы можете найти ЗДЕСЬ Ответ 4 Ну, вам нужно создать Id для каждого из id так: id | otherid 1 = 5 2 = 4 3 = 3 4 = 1 6 = 6 используя IN-ЗАЯВЛЕНИЕ, только смотрит, находятся ли эти значения в списке, не заказывает их в каком-либо конкретном порядке
Ответ 1 Используйте FIELD(): SELECT * FROM table WHERE id IN (5,4,3,1,6) ORDER BY FIELD(id, 5,4,3,1,6);
Ответ 3 Если кто-то все еще ищет, я просто нашел его. SELECT * FROM `table` WHERE `id` IN (4, 3, 1) ORDER BY FIELD(`id`, 4, 3, 1) И ссылку для функции, которую вы можете найти ЗДЕСЬ
Ответ 4 Ну, вам нужно создать Id для каждого из id так: id | otherid 1 = 5 2 = 4 3 = 3 4 = 1 6 = 6 используя IN-ЗАЯВЛЕНИЕ, только смотрит, находятся ли эти значения в списке, не заказывает их в каком-либо конкретном порядке