加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

ORDER BY 排序

发布时间:2023-03-06 14:27:42 所属栏目:MySql教程 来源:
导读:ORDER BY 排序
前面小节介绍了如何查询数据,并且介绍了如何使用 WHERE 条件对查询的数据结果集进行筛选,本小节介绍如何使用 ORDER BY 对查询结果集进行排序,排序在实际业务中非常有必要,可以较好地对结果集数据
ORDER BY 排序
前面小节介绍了如何查询数据,并且介绍了如何使用 WHERE 条件对查询的数据结果集进行筛选,本小节介绍如何使用 ORDER BY 对查询结果集进行排序,排序在实际业务中非常有必要,可以较好地对结果集数据分析和处理。

1.ASC 从小到大排序
ASC 是对结果集按照字段从小到大排序(升序),以 teacher 表为例,将查询出来的所有结果集按照年龄  age 从小到大排序:

 SELECT * FROM teacher ORDER BY age ASC;

2.DESC 从大到小排序
DESC 是对结果集按照字段从大到小排序(降序),以 teacher 表为例,将查询出来的所有结果集按照年龄 id  从大到小排序:

 SELECT * FROM teacher ORDER BY id DESC;

3.使用多字段混合排序
以 teacher 表为例,将查询出来的结果集按照 age 从大到小排序之后,再按照 id 字段从小到大排序:

SELECT * FROM teacher ORDER BY age DESC,id ASC;

4.对字符串类型字段排序
前面排序的 age 和 id 字段是 int 类型,为了演示方便这里先插入几个 name 字段为英文名的教师测试数据,并对 name 字段排序,插入数据 sql 语句如下:

INSERT INTO teacher(name,age,id_number,email)VALUES('Tom',,'42011720200604077X','tom@qq.com'),
('Jack',,'42011720200604099X','jack@qq.com'),
('Mary',,'42011720200604020X','mary@qq.com'),
('Timo',,'42011720200604022X','timo@qq.com'),
('Faker',,'42011720200604033X','faker@qq.com');
对查询结果集按照 name 字段 ASC 升序排序:

SELECT * FROM teacher ORDER BY name ASC;

5.小结
本小节介绍了如何使用 ORDER BY 对查询结果集按照值字段排序,其中包括 ASC 升序和 DESC 降序,需要注意的是各种数据的字符集可能不同,如中文字符编码 GBK编码、utf-8编码, 若需要经常对字符串类型字段进行排序,可以给该字符串字段加上普通 Bree索引,二级索引树字符串默认存储方式是按照字符集升序存储的(MysqL8.0 可自定义排序存储方式),所以有索引的字段排序性能比没有索引的字段排序性能好。

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章