#mysql #sql
Как выбрать строки с помощью оператора IN именно в том порядке, в котором они переданы? Т.е. SELECT id, name FROM users WHERE id IN (2, 3, 1)
Ответы
Ответ 1
Можно воспользоваться функцией FIELD(), передав ей точно такую же последовательность, которую вы задаете в IN. Функция будет возвращать индекс значения в последовательности и по нему можно отсортировать выборку конструкцией ORDER BY. SELECT id, name FROM users WHERE id IN (2, 3, 1) ORDER BY FIELD(id, 2, 3, 1)
Комментариев нет:
Отправить комментарий