簡體   English   中英

MySQL按兩列排序

[英]Mysql Order by two columns

我有一張這樣的桌子:

id     |date        |publisher
1       2014-11-07   100
2       2014-11-07   0
3       2014-11-07   100
4       2014-11-06   0
5       2014-11-06   100
6       2014-11-05   100
7       2014-11-05   0
8       2014-11-05   0
9       2014-11-05   100

我試圖得到這樣的結果:

1       2014-11-07   100
3       2014-11-07   100
2       2014-11-07   0
4       2014-11-06   100   
5       2014-11-06   0
6       2014-11-05   100
9       2014-11-05   100
8       2014-11-05   0
7       2014-11-05   100

因此,我試圖按發布日期對表中的數據進行排序,並始終將發布者的價值保持在到目前為止的每一天:

select * from articles 
order by publisher DESC, date DESC

我得到這個結果:

1       2014-11-07   100
3       2014-11-07   100
5       2014-11-06   100
6       2014-11-05   100
9       2014-11-05   100
2       2014-11-07   0
4       2014-11-06   0
7       2014-11-05   0
8       2014-11-05   0

哪有錯...

您必須按字段反轉訂單順序,如下所示:

select * from articles 
order by date DESC, publisher DESC

ORDER BY子句負責字段的順序。 在此查詢中,我們說:按日期順序按desc順序排序,如果兩個或多個日期相等,則按desc順序對發布者應用另一個順序。

編輯,如我所願,請轉到Sql Fiddle

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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