MySQL có một chức năng tiện dụng được gọi là FIELD()
điều này rất tuyệt vời cho những tác vụ như thế này.
ORDER BY FIELD(Language,'ENU','JPN','DAN'), ID
Tuy nhiên, lưu ý rằng
-
Nó làm cho SQL của bạn ít di động hơn, vì các DBMS khác có thể không có chức năng như vậy
-
Khi danh sách các ngôn ngữ (hoặc các giá trị khác cần sắp xếp theo) của bạn dài hơn nhiều, tốt hơn nên có một bảng riêng với cột sắp xếp cho chúng và kết hợp nó với các truy vấn của bạn để sắp xếp.