我有下表:
id name date_completed
----------------------------------------
1 Computer 2016-02-26
2 Desk NULL
3 Curtain 2016-02-25
我尝试使用此查询:
SELECT * FROM objects ORDER BY date_completed NULLS FIRST, name
正如预期的那样,我得到了这个结果:
id name date_completed
----------------------------------------
2 Desk NULL
3 Curtain 2016-02-25
1 Computer 2016-02-26
我希望对结果进行排序,使其不按实际日期排序,而是将NULL
中的date_completed
放在顶部,并按名称排序。然后将值为date_completed
的值放在底部,并按名称排序。
基本上这就是我想要的:
id name date_completed
----------------------------------------
2 Desk NULL
1 Computer 2016-02-26
3 Curtain 2016-02-25
答案 0 :(得分:5)
SELECT * FROM objects
ORDER BY (case when date_completed is null then 1 else 2 end),name