簡體   English   中英

Mysql排序順序日期0000-00-00優先

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM