MySQL order by 多个字段排序举例说明


摘要:
下文通过举例的方式讲述MySQL order by多个字段排序,如下所示:

例:
对如下数据表”maomao”中的字段sortId和qty两个字段进行排序

数据表 maomao

keyId

info

sortId

qty
1

sqlBlog

1

9
2

猫猫小屋

1

8
3

sql爱好者

3

18
4

数据库知识库

4

80

例: 运行以下脚本将出现以下结果

  mysql > select keyId,info,sortId,qty from maomao  order by sortId,qty;
  ---等同于以下脚本
    mysql > select keyId,info,sortId,qty from maomao  order by sortId asc,qty asc;

由于我们指定了排序列,但是没有指定排序方式,所以默认会采用asc排序规则

keyId

info

sortId

qty
2

猫猫小屋

1

8
1

sqlBlog

1

9
3

sql爱好者

3

18
4

数据库知识库

4

80

  mysql > select keyId,info,sortId,qty from maomao  order by sortId desc,qty asc;

按照sortId倒序排列,然后再按照qty顺序排列

keyId

info

sortId

qty
4

数据库知识库

4

80
3

sql爱好者

3

18
2

猫猫小屋

1

8
1

sqlBlog

1

9


order by 注意事项:
1.order by 字段排序,如果未指定排序规则,则按照asc的方式排序
2.order by 如果有多个字段排序,那么首先按照第一个字段的排序规则排序,当第一个排序字段存在重复值时,则按照二个排序规则进行排序
…依次类推,如果有第三个排序字段时,当第二个字段排序规则时,存在第二个排序值相同时,则按照第三个排序字段排列