我在从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)
中使用的订单相同的订单。
我认为这是可能的,但我尽力而为,并没有解决它。有什么解决方案对我有用吗?
答案 0 :(得分:5)
添加此ORDER BY子句,该子句使用FIELD函数来获取所需的顺序:
ORDER BY FIELD(tbl1.id, 22, 55, 5, 10, 40, 2001, 187)