在MYSQL中,如何选择多行并按照我指定的顺序返回它们?

3 mysql sql

我知道我可以像这样选择多行:

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)

Ty *_*y W 7

你说的方式我不确定使用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)