一般的sql排序用order by 某个字段或几个字段升降序
SELECT * from all_enquiry order by state ASC , create_time DESC;

如果想让state等于2的拍在最上面怎么办呢?
SELECT * FROM all_enquiry a ORDER BY CASE when state=2 then 1 else 2 end ,create_time desc;

3,同理,如果想让state为2排在最上面,等于1排在第二,等于4排在第三,等于3排在第四,可以这样写;
SELECT * from all_enquiry order by
case when state=2 then 1 when state=1 then 2 when state=4 then 3 when state=3 then 4 else 5 END , create_time DESC;


556

被折叠的 条评论
为什么被折叠?



