Я создаю запрос mysql для функции поиска, теперь я хочу упорядочить результат определенным образом, используя массив идентификаторов.MYSQL Order by Field или Find_in_set без IN()
Я был в состоянии сделать это, используя кусок MYSQL, похожее на это:
SELECT id, name
FROM mytable
WHERE id IN (77, 3, 123, 1)
ORDER BY FIELD(id, 77, 3, 123, 1)
Но мне интересно, если это возможно Order by FIELD
или FIND_IN_SET
без установки IN()
в запросе Select ,
Я не хочу использовать оператор IN(), потому что я также ожидаем, что результаты, которые не входят в массив идентификаторов
Надеюсь кто-то может толкать меня в правильном направлении,
Спасибо продвижение,
Вы должны использовать 'UNION ALL', потому что два выбора имеют определенную пустоту пересечения. –
Первый метод работал лучше всего для меня, это было всего на пару миллисекунд быстрее, чем с запросом NOT IN, но все имеет значение: P Спасибо за ваш ответ и объяснение! – Lennart