需求:在部门号降序排序的情况下,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