[英]Mysql sort order date 0000-00-00 first
下面的 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
一种方法是添加显式键:
SELECT p.*
FROM posts p
ORDER BY (p.created = '0000-00-00') DESC,
p.created DESC
尝试:
CREATE VIEW test1 AS SELECT p.* FROM posts p WHERE p.created = '0000-00-00';
CREATE VIEW test2 AS SELECT p.* FROM posts p WHERE p.created <> '0000-00-00' ORDER BY p.created DESC;
CREATE VIEW t_final AS ( SELECT * FROM test1 UNION ALL SELECT * FROM test2 )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.