SQL: select * from table where id IN (3,6,9,1,2,5,8,7);
这样的情况取出来后,其实,id还是按1,2,3,4,5,6,7,8,9,排序的,但如果我们真要按IN里面的顺序排序怎么办?SQL能不能完成?是否需要取回来后再foreach一下?
其实可以这样:
$ids="55,45,46,49";
SELECT * FROM `wx_article` WHERE type='img' and is_show=1 and article_id in ($ids) ORDER BY FIND_IN_SET(article_id, '$ids')