how to 实现一个排序 ,第一排序按状态升序,第二排序状态为2 时,按id 升序,状态为其它时,按状态降序

来源:互联网 发布:淘宝买家黑名单库 编辑:程序博客网 时间:2024/05/21 08:37

表字段,有俩值   id , status

id 为自增变量,   status 为int 行。


现在实现,第一排序按状态升序,第二排序状态为2 时,按id 升序,状态为其它时,按状态降序

使用 case when 实现


 order by status asc  , CASE status WHEN 2 THEN  -id , ELSE id END DESC    t.id desc

写法二


. order by status asc   , if(status=2, id ,‘’) , if(status=3,id,‘’) desc ..

0 0