我正在做一个任务管理工具。任务的到期日期以时间戳的形式存储在名为INT的MySQL dueTime
列中。如果任务没有截止日期(很多没有),则DueTime列的值为0。任务需要按DueTime升序显示,没有到期时间的任务会在列表的后面显示。
我当前的解决方案是SELECT * FROM tasks WHERE dueTime > 0 ORDER BY dueTime
,获取数据,然后运行第二个查询SELECT * FROM tasks WHERE dueTime = 0
,然后添加该数据。它工作正常,但我只想通过一个查询即可完成此操作。我也不希望不必添加“具有适当时间”的属性,因为这似乎是不必要的。
我见过的其他问题涉及使用GROUP BY
,但是我不确定在时间戳上使用它是否必要或有效。
先谢谢您的帮助!
最佳答案
您可以尝试以下方法:
SELECT * FROM tasks ORDER BY dueDate IS NULL,dueTime
关于mysql - 按升序值EXCEPT FOR 0对MySQL查询进行排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15670057/