mysql多级高级排序(case when then)

 需求:在部门号降序排序的情况下,1部门和3部门按年龄降序排序,2部门按年龄升序排序

图一
图一
图二
图二

                        

图三
图四

 

 

 

 

图五

 

​
# 例:
# 1.有一张表:t_emp,图1
# 2.有两个字段:一个是员工部门号 deptID(1部门,2部门,3部门)
#               另外一个是年龄   age
# 需求:在部门号降序排序的情况下,1部门和3部门按年龄降序排序,2部门按年龄升序排序            
 SELECT `name`,dept_id,age
 FROM t_emp
 ORDER BY
	dept_id DESC , #此时部门号降序,年龄乱序,图2
        CASE WHEN dept_id = 1 THEN -age END,  #部门降序,部门1的年龄降序,3,2乱序,图3
        CASE WHEN dept_id = 2 THEN age END,   #部门降序,部门2的年龄升序,3乱序,图4
         CASE WHEN dept_id = 3 THEN -age END; #部门降序,部门3的年龄降序,图5

​

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值