在工作中遇到一个多条件排序的问题
1. 最简单的多条件:根据A条件升序,B条件降序
select * from table order by A asc, B desc;
2 有时候业务会更复杂,比如 班级为五年级二班的学生排在最前
select * from class order by class_name='五年级二班' desc
在根据某些值排序的时候,要用倒叙才能排在最前
3.在2的基础上,还要根据分数倒叙拍的话
select * from class order by class_name='五年级二班' desc,score desc
或者
select * from class order by class_name='五年级二班' ,score desc
或者
select * from class order by class_name='五年级二班' and score desc
4.在3的基础上, 班级为五年级二班的学生排在最前,并且根据分数倒叙排序,其他班级分数升序排序
select * from class order by class_name='五年级二班' and score desc,class_name<>'五年级二班' and score asc
5 如果继续更换条件