MySQL сортируется по определенному списку
У меня есть список чисел: 7,1,3,2,123,55
(которые являются идентификаторами существующих записей)
У меня есть таблица mysql со столбцами id
и name
, где id
- целочисленный первичный ключ.
Я хочу выбрать записи из этой таблицы, но в определенном порядке, например 7
, 1
, 3
, 2
, 123
, 55
.
- Возможно ли это сделать в MyISAM в запросе без какой-либо последующей обработки?
- Каков самый простой способ сделать это?
Ответы
Ответ 1
Так как 1 < 3 < 77 < 123
, достаточно простого ORDER BY id
.
Если вы хотите заказать этот способ: 77, 3, 123, 1
, вы можете использовать функцию FIELD()
:
SELECT id, name
FROM mytable
WHERE id IN (77, 3, 123, 1)
ORDER BY FIELD(id, 77, 3, 123, 1)