解决方案
用"按字段排序" (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
, ‘李四’, ‘孙六’, ‘张三’, ‘王五’)