解決方案
用"按字段排序" (ORDER BY FIELD).
語法
ORDER BY FIELD(id
, 5, 3, 7, 1)
要注意的是, FIELD 後面是沒有空格的.
因此, 完整的 SQL 爲:
SELECT * FROM MyTable
WHERE id
IN (1, 7, 3, 5)
ORDER BY FIELD(id
, 5, 3, 7, 1)
常見應用
SELECT * FROM MyTable
WHERE name
IN (‘張三’, ‘李四’, ‘王五’, ‘孫六’)
ORDER BY FIELD(name
, ‘李四’, ‘孫六’, ‘張三’, ‘王五’)