我从MySQL获取一个包含todo标题和到期日期的数组。我想按日期点餐,上面有最老的。但有些待办事项没有约会。这些待办事项,我不想显示在第一位置,而是在我的名单底部。不幸的是,MySQL把空的放在第一位。
有什么办法可以在一个查询中完成(不能使用MySQLi,使用CI的ActiveRecord)。我可以在没有日期的情况下对所有待办事项进行第二次查询,并将它们放在底部。但我想在一个查询中做到-如果可能的话?
发布于 2011-12-14 19:45:10
您可以在MySQL中使用ORDER BY子句来完成该操作。先按NULL排序,然后按日期排序。
SELECT * FROM your_table ORDER BY (date_column IS NULL), date_column ASC注意:--假设没有日期的行是NULL。
发布于 2011-12-14 19:45:59
是
SELECT *
FROM table
ORDER BY CASE your_date
WHEN '' THEN 'b'
ELSE 'a'
END,
date ASC 发布于 2011-12-14 19:46:03
可能在order子句中添加NVL( thedate, to_date('2099-12-31','yyyy-mm-dd'))
https://stackoverflow.com/questions/8510632
复制相似问题