美文网首页MySQL 入门教程mysql
21《MySQL 教程》ORDER BY 排序

21《MySQL 教程》ORDER BY 排序

作者: 木子教程 | 来源:发表于2022-04-04 12:24 被阅读0次

前面小节介绍了如何查询数据,并且介绍了如何使用 WHERE 条件对查询的数据结果集进行筛选,本小节介绍如何使用 ORDER BY 对查询结果集进行排序,排序在实际业务中非常有必要,可以较好地对结果集数据分析和处理。

1.ASC 从小到大排序

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

 SELECT * FROM teacher ORDER BY age ASC;

执行结果如下图:

5ea443df095d5a0e08160656.jpg

2.DESC 从大到小排序

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

 SELECT * FROM teacher ORDER BY id DESC;

执行结果如下图:

5ea443f3096285ff08420644.jpg

3.使用多字段混合排序

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

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

执行结果如下图:

5ea4440309682a4e10000596.jpg

4.对字符串类型字段排序

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

INSERT INTO teacher
(name,age,id_number,email)
VALUES
('Tom',22,'42011720200604077X','tom@qq.com'),
('Jack',23,'42011720200604099X','jack@qq.com'),
('Mary',24,'42011720200604020X','mary@qq.com'),
('Timo',25,'42011720200604022X','timo@qq.com'),
('Faker',21,'42011720200604033X','faker@qq.com');

对查询结果集按照 name 字段 ASC 升序排序:

SELECT * FROM teacher ORDER BY name ASC;

执行结果如下图:

5ea4441909ec288009030814.jpg

Tips:如上图所示,使用 ASC 对结果集按照 name 字段升序,其实是对 name 字段字符串编码的排序,英文字符排序在前,中文在后,其中排序规则是按照字符 ASCII码 对应值的大小排序的。

5.小结

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

相关文章

  • 21《MySQL 教程》ORDER BY 排序

    前面小节介绍了如何查询数据,并且介绍了如何使用 WHERE 条件对查询的数据结果集进行筛选,本小节介绍如何使用 O...

  • mysql order by 排序

    mysql order by 排序 索引排序 参考 order by 字段上上有索引可能就会用上索引排序,是否应用...

  • order by 和 索引

    1、 order by 排序字段和索引 2、 order by 排序字段对其他字段索引的影响 3、 mysql是怎...

  • 常用的语句

    更新:order误用order 是mysql的关键字,是用来排序的,oreder by desc;使用order做...

  • Mysql / List集合 . 多字段排序

    mysql单个字段降序排序:select * from table order by id desc; mysql...

  • MySQL中怎么对varchar类型排序问题

    MySQL中怎么对varchar类型排序问题 在mysql默认order by 只对数字与日期类型可以排序,但对于...

  • MySQL ORDER BY 排序

    语法 ASC升序 DESC降序 例子

  • mysql order by 排序

    1、使用order by 排序:ASC\DES(升序\降序,默认升序) 题目:查询students表sex="m"...

  • MySQL:排序(order by)

    MySQL是如何进行排序的? 假设有一个表t结构如下图所示: id为主键,type上建有索引,那么如果要查类型为1...

  • 数据库语言杂记

    MySQL ORDER BY 排序 IF 及 IN 字符串连接函数concat() MySQL练习题:练习题一 ...

网友评论

    本文标题:21《MySQL 教程》ORDER BY 排序

    本文链接:https://www.haomeiwen.com/subject/hodcsrtx.html