Sử dụng FIELD ()
chức năng:
SELECT name, description, ...
FROM ...
WHERE id IN([ids, any order])
ORDER BY FIELD(id, [ids in order])
FIELD ()
sẽ trả về chỉ số của tham số đầu tiên bằng với tham số đầu tiên (khác với chính tham số đầu tiên).
FIELD ('a', 'a', 'b', 'c')
sẽ trả về 1
FIELD ('a', 'c', 'b', 'a')
sẽ trả về 3
Điều này sẽ thực hiện chính xác những gì bạn muốn nếu bạn dán id vào IN ()
và mệnh đề FIELD ()
hoạt động theo thứ tự.