1. 程式人生 > >sql order by 多條件排序

sql order by 多條件排序

在工作中遇到一個多條件排序的問題

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 如果繼續更換條件