我在MySQL数据库中有一堆任务,其中一个字段是“截止日期”。并非每个任务都必须在截止日期之前完成。
我想使用SQL按截止日期对任务进行排序,但是将没有截止日期的任务放在结果集中。现在,首先显示空日期,然后按最早到最晚的截止日期对其余日期进行排序。
关于如何单独使用SQL进行此操作的任何想法?(如果需要,我可以使用PHP来做到这一点,但是仅使用SQL的解决方案会很棒。)
谢谢!
这是仅使用标准SQL而不使用ISNULL()的解决方案。该功能不是标准的SQL,并且可能不适用于其他品牌的RDBMS。
SELECT * FROM myTable WHERE ... ORDER BY CASE WHEN myDate IS NULL THEN 1 ELSE 0 END, myDate;