我正在做一个任务管理工具。任务的到期日期以时间戳的形式存储在名为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/

10-09 17:35