我知道我可以像这样选择多行:
select * FROM table WHERE id in (1, 2, 3, 10, 100);
Run Code Online (Sandbox Code Playgroud)
我按顺序返回结果: 1, 2, 3, 10, 100
但是,如果我需要按特定顺序返回结果怎么办?当我尝试这个:
select * FROM table WHERE id in (2, 100, 3, 1, 10);
Run Code Online (Sandbox Code Playgroud)
我仍然以相同的顺序返回结果: 1, 2, 3, 10, 100
有没有办法按照我要求的确切顺序返回结果?
(由于站点的设置方式存在限制,不允许我使用其他字段值进行ORDER BY)
你说的方式我不确定使用ORDER BY是完全不可能还是仅仅通过其他领域订购...所以冒着提交无用答案的风险,这就是你通常如何订购这样的结果情况.
SELECT *
FROM table
WHERE id in (2, 100, 3, 1, 10)
ORDER BY FIELD (id, 2, 100, 3, 1, 10)
Run Code Online (Sandbox Code Playgroud)