2011-09-30 114 views
2

我在排序MySQL结果时遇到问题。这里是代码:通过多个ID排序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)