記一次多欄位排序的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 作用完這一行 其他按著這個欄位排序

Tags: