1.ASC 从小到大排序
ASC 是对结果集按照字段从小到大排序(升序),以 teacher 表为例,将查询出来的所有结果集按照年龄 age 从小到大排序:
- 1
执行结果如下图:
2.DESC 从大到小排序
DESC 是对结果集按照字段从大到小排序(降序),以 teacher 表为例,将查询出来的所有结果集按照年龄 id 从大到小排序:
- 1
执行结果如下图:
3.使用多字段混合排序
以 teacher 表为例,将查询出来的结果集按照 age 从大到小排序之后,再按照 id 字段从小到大排序:
- 1
执行结果如下图:
4.对字符串类型字段排序
前面排序的 age 和 id 字段是 int 类型,为了演示方便这里先插入几个 name 字段为英文名的教师测试数据,并对 name 字段排序,插入数据 SQL 语句如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
对查询结果集按照 name
字段 ASC
升序排序:
- 1
执行结果如下图:
5.小结
本小节介绍了如何使用 ORDER BY 对查询结果集按照值字段排序,其中包括 ASC 升序和 DESC 降序,需要注意的是各种数据的字符集可能不同,如中文字符编码 GBK编码、utf-8编码, 若需要经常对字符串类型字段进行排序,可以给该字符串字段加上普通 Bree索引,二级索引树字符串默认存储方式是按照字符集升序存储的(MySQL8.0 可自定义排序存储方式),所以有索引的字段排序性能比没有索引的字段排序性能好。