我在MySQL中运行选择查询:

SELECT *
FROM table1
ORDER BY IF(duedate = '0000-00-00 00:00:00', datetime_added, duedate) ASC


它的排序ASC,但它将所有具有0000-00-00 00:00:00的行放在顶部,但这些行应该在底部

如何按以下顺序排序查询:

duedate ASC
datetime_added ASC
sequence DESC

最佳答案

尝试这个:

SELECT *
from table1
ORDER BY IF(duedate = '0000-00-00 00:00:00', '9999-12-31', duedate),
         datetime_added ASC,
         sequence DESC

关于mysql - SQL按2个日期字段排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35574655/

10-10 16:28