mysql技巧:in语句排序

今天遇到了一个问题,有一个sql语句:

1
2
3
select * from table where id IN

(9,8,7,6,5,4,3,2,1);

我希望的结果是id按照9,8,7,6,5,4,3,2,1的顺序排序,也就是按照in语句里的顺序排序,可是结果却是id还是按1,2,3,4,5,6,7,8,9排序的。其实mysql提供了解决方法:

1
2
3
select * from table where id IN (9,8,7,6,5,4,3,2,1) order by

field (id,9,8,7,6,5,4,3,2,1);

出来的顺序就是指定的顺序了。