Ответ 1
На самом деле вы были удивительно близки. Это просто:
select * from TABLE order by field(ID,4,2,5,3,1)
Если у меня есть:
ID | Title
1 | Shirt
2 | CD
3 | Cap
4 | Mp3
5 | Badge
Если я хочу сортировать по этому заказу: 4, 2, 5, 3,1. Есть ли способ сделать запрос sql, где вы явно указываете это? Что-то вроде:
select * from TABLE order by ID(4,2,5,3,1) ??
На самом деле вы были удивительно близки. Это просто:
select * from TABLE order by field(ID,4,2,5,3,1)
Вы можете использовать CASE в ORDER BY как рудиментарную таблицу поиска:
select *
from your_table
order by
case id
when 4 then 1
when 2 then 2
when 5 then 3
when 3 then 4
when 1 then 5
end
select * from TABLE order by ID=1,ID=3,ID=5,ID=2,ID=4;
ВЫ ИСПОЛЬЗУЕТЕ ЭТО И ПОЗВОЛЬТЕ МНЕ ЗНАТЬ О ВАШЕЙ СМЕШИВАНИИ.