order by 后有多个字段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了order by 后有多个字段相关的知识,希望对你有一定的参考价值。

比如:order by zd desc,time desc
请解释这个是怎么排的..

1、首先新建一个database_oder数据库。

2、在database_order 数据库中,创建一个新表并添加数据。

3、然后在数据库中,新建一个查询编辑器。在查询编辑器中添加一个查询语句,并点击执行。

4、在查询语句后 添加“order  by  t_id desc” 排序语句。其中 “t_id”是按查询该字段来排序 ,“desc”是排序方式为降序。

5、最后添加排序语句后,点击运行按钮,看到查询结果,是按t_id 降序方式排序。

参考技术A order by zd desc,time desc

先是按 zd 降序排列 (优先)
如果 zd 字段 有些是一样的话 再按time 降序排列 (前提是满足zd降序排列)
参考技术B 先按zd 降序排列,当zd值相同时在按time降序排列 参考技术C 先 zd 降序~~~在 time 降序 参考技术D 只是个先后顺序

mysql order by 多个字段

下图是只加了一个排序的结果:

技术分享

可以看到,单一字段是没问题的。如果加入c2呢?下图是c2

技术分享

可以发现,这里的orderby是先按c1增序,然后对于按c1排好序以后的相同的元素,又根据c2做了降序排序。下面 是c1,c2都增序,结果符合。

技术分享

总结就是,orderby多个字段时,用逗号分隔每一个字段,如果字段不指明排序方式,默认是增序。排序的方法是先按第一个字段排序,如果有相同的再按后续的字段依次排序。

以上是关于order by 后有多个字段的主要内容,如果未能解决你的问题,请参考以下文章

mysql order by多个字段

mysql order by怎样多个时间字段排序

mysql order by 多个字段

order by后面加多个字段的情况

sql语句中order by 多个字段同时排序的应用

sql ORDER BY 多个字段,排序变慢几十倍,求解?