下面的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
尝试:
将视图测试1创建为 选择p.* 从帖子 p 其中 p.create = '0000-00-00';
将视图测试2创建为 选择p.* 从帖子 p 其中 p.创建<> '0000-00-00' 按 p.创建 DESC 订购;
创建视图t_final为 ( 选择* 从测试1 全部联盟 选择* 从测试2 )