按多个id排序MySQL查询


Order MySQL query by multiple ids

我有问题从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)