Như câu trả lời khác đã đề cập:truy vấn bạn đã đăng không liên quan đến thứ tự bạn muốn kết quả của mình mà chỉ là kết quả bạn muốn nhận.
Để sắp xếp kết quả của bạn, tôi sẽ sử dụng ORDER BY FIELD ():
SELECT * FROM foo f where f.id IN (2, 3, 1)
ORDER BY FIELD(f.id, 2, 3, 1);
Danh sách đối số cho FIELD có thể có độ dài thay đổi.