記一次多欄位排序的sql使用if語句問題
- 2019 年 10 月 10 日
- 筆記


以上語句無法滿足要求
實現如下:
1、mysql和oracle都支援
SELECT department_id,order_expected_amount,administrator_id, case administrator_id when 0 then -1 else order_expected_amount end as orderByNumber FROM order_calculate_collect WHERE `month`=4 ORDER BY department_id,orderByNumber desc;

2、只支援mysql
SELECT department_id,order_expected_amount,administrator_id FROM order_calculate_collect WHERE `month`=4 ORDER BY department_id,if(administrator_id = 0,1,0),order_expected_amount desc;

總結:驗證了個事 if 這個只作用一行數據,我一直以為是if 作用完這一行 其他按著這個欄位排序