sql order by 多條件排序
阿新 • • 發佈:2019-01-10
在工作中遇到一個多條件排序的問題
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 如果繼續更換條件