Порядок сортировки MySQL по значению массива - PullRequest
27 голосов
/ 08 ноября 2011

Мне нужно выполнить запрос MySQL, где порядок определяется значением массива.

Мой массив является переменным, но значения в массиве соответствуют полю в моей таблице БД, которое называется 'ID', поэтому я хочу, чтобы результат был возвращен в порядке идентификаторов 9, 1, 4.

Array ( [0] => 9 [1] => 1 [2] => 4 )

Возможно ли это в MySQL или можно отсортировать результат MySQL $, используя массив после? Можно предположить, что возвращаются только значения в массиве.

Ответы [ 2 ]

67 голосов
/ 08 ноября 2011
1 голос
/ 08 июня 2013

Вы хотите получить список предметов с идентификаторами 5, 2, 1, 3 и вывести их в том же порядке.Однако простой запуск запроса на выборку вернет элементы в следующем порядке: 1, 2, 3, 5.

. Чтобы правильно упорядочить результаты, вам нужно составить список из ORDER BY элементов, описывающих вес идентификаторов.Это будет выглядеть как

ORDER BY id = 5 DESC, id = 2 DESC, id = 1 DESC, id = 3 DESC

Перейдите на по этой ссылке , чтобы получить подробную информацию.

...