从MySQL排序结果时遇到问题。代码如下:
$my_query = "
SELECT *
FROM tbl1, tbl2, tbl3
WHERE tbl1.id = tbl2.id2
AND tbl1.sub_id = tbl3.sub_id
AND tbl1.id IN(22, 55, 5, 10, 40, 2001, 187)
";
这个查询工作正常,但是当我打印它时,它是按tbl1.id ASC排序的。我想显示与
IN(22,55,5,10,40,2001,187)
中相同的顺序。我认为这是可能的,但我尽了最大的努力,没有把它修好。有什么办法对我有效吗?
最佳答案
添加此ORDER BY子句,该子句使用FIELD函数获取所需的顺序:
ORDER BY FIELD(tbl1.id, 22, 55, 5, 10, 40, 2001, 187)
关于php - 通过多个ID排序MySQL查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7615596/