Mysql排序顺序日期0000-00-00第一
Posted
技术标签:
【中文标题】Mysql排序顺序日期0000-00-00第一【英文标题】:Mysql sort order date 0000-00-00 first 【发布时间】:2019-12-07 16:25:19 【问题描述】:下面的 mysql 查询有效,但不是我喜欢的方式。
有些帖子的日期为0000-00-00
。我怎样才能先列出这些,然后再列出其余的。
SELECT *
FROM posts
ORDER BY posts.created DESC
示例结果
0000-00-00 - A post
0000-00-00 - Another post
2019-02-03 - New post
2011-01-01 - Old post
【问题讨论】:
【参考方案1】:一种方法是添加显式键:
SELECT p.*
FROM posts p
ORDER BY (p.created = '0000-00-00') DESC,
p.created DESC
【讨论】:
【参考方案2】:试试:
创建视图 test1 作为 选择页* 来自帖子 p WHERE p.created = '0000-00-00';
创建视图 test2 作为 选择页* 来自帖子 p WHERE p.created '0000-00-00' ORDER BY p.created DESC;
创建视图 t_final AS ( 选择 * 从测试1 联合所有 选择 * 来自测试2 )
【讨论】:
以上是关于Mysql排序顺序日期0000-00-00第一的主要内容,如果未能解决你的问题,请参考以下文章
MySQL Workbench - 表数据导入向导将所有日期时间对象写入 0000-00-00 00:00:00
如何在java中处理具有值“0000-00-00 00:00:00”的日期[重复]