繁体   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