按顺序排序MySQL结果?

按顺序排序MySQL结果?,sql,mysql,Sql,Mysql,当我从表中选择一组行时,使用IN,例如 SELECT x.y, x.z FROM x WHERE x.id IN (23, 55, 44, 12) 是否有SQL技巧可以让它们按照in集合中给定的顺序返回 因此,在本例中,假设x有ID为23、55、44和12的行,这四行将按该顺序返回。您可以将其用作: MySQL 5.0是否支持按字段排序?A:是的!我刚查过。表面上看,在你的答案和史蒂夫的答案之间没有选择余地。但是接受哪一个呢?在我尝试的一个简单测试中,按字段排序的速度要快一倍多 SELECT

当我从表中选择一组行时,使用IN,例如

SELECT x.y, x.z FROM x WHERE x.id IN (23, 55, 44, 12)
是否有SQL技巧可以让它们按照in集合中给定的顺序返回

因此,在本例中,假设x有ID为23、55、44和12的行,这四行将按该顺序返回。

您可以将其用作:


MySQL 5.0是否支持按字段排序?A:是的!我刚查过。表面上看,在你的答案和史蒂夫的答案之间没有选择余地。但是接受哪一个呢?在我尝试的一个简单测试中,按字段排序的速度要快一倍多
SELECT x.y, x.z FROM x WHERE x.id IN (23, 55, 44, 12)
ORDER BY FIND_IN_SET(x.id,'23, 55, 44, 12');
SELECT x.y, x.z FROM x WHERE x.id IN (23, 55, 44, 12)
ORDER BY FIELD (x.id, 23, 55, 44, 12)