CDA数据科学研究院 CDA考试中心 企业服务 关于CDA

cda

全国校区

您的位置:首页 > 精彩阅读 > mysql基础知识——ORDER BY

mysql基础知识——ORDER BY

2020-10-15

作者:丶平凡世界 

来源:SQL数据库开发

今天,mysql基础知识给大家带来的是ORDER BY,我们一起来看看ORDER BY如何使用!

ORDER BY作用

ORDER BY 关键字用于对结果集进行排序。

ORDER BY 关键字

ORDER BY 关键字用于按升序(ASC)或降序(DESC)对结果集进行排序。

ORDER BY 关键字默认情况下按升序(ASC)排序记录,默认排序可以不写ASC。

如果需要按降序对记录进行排序,可以使用DESC关键字,不可省略。

ORDER BY 语法

SELECT column1, column2, ... FROM table_name
ORDER BY column1, column2, ... ASC|DESC;

示例数据库

以下是 "Customers" 表中的数据:

ORDER BY 实例

下面的 SQL 语句从 "Customers" 表中选取所有客户,并按照 "省份" 列排序:

实例:

SELECT * FROM Customers
ORDER BY 省份;

结果:

这里排序方式默认是升序。这里排序规则,是按照省份里的拼音首字母的ASCII规则排序的。例如北京市首字母是B,广东省的首字母是G,湖北省的首字母是H,上海市的首字母是S,浙江省的首字母是Z。排序后就是上述结果了,如果排序的首字母相同,则比较第二位字母,依次类推。

ORDER BY DESC 实例

下面的 SQL 语句从 "Customers" 表中选取所有客户,并按照 "省份" 列降序排序:

实例:

SELECT * FROM Customers
ORDER BY 省份 DESC;

结果为:

加了DESC后排序方式变成了降序,排序规则与升序相反。

ORDER BY 多列 实例

为了让大家更加好理解,我们在Customers表中添加两行数据。

INSERT INTO `Customers` (客户ID,姓名,地址,城市,邮编,省份)
VALUES
( 6, '宋一', '花城大道21号', '广州', '510000', '广东省' );
INSERT INTO `Customers` (客户ID,姓名,地址,城市,邮编,省份)
VALUES
( 7, '刘二', '长安街121号', '北京', '100000', '北京市' );

添加数据后的Customers表如下:

下面的 SQL 语句从 "Customers" 表中选取所有客户,并按照 "省份" 和 "姓名" 列排序:

示例

SELECT * FROM Customers
ORDER BY 省份, 姓名;

结果是:

可以看到,对省份排序的时候,北京市和广东省各出现了两条。这时候再对姓名这一列的拼音首字母进行排序。在省份一致的前提下,刘二的首字母是L,赵七的首字母是Z,所以刘二排在赵七的前面。同理宋一的首字母是S,王五的首字母是W,所以宋一排在王五的前面。

ORDER BY 多列 实例2

以下SQL语句从"Customers" 表中选择所有客户,按 "省份" 升序排列,并按 "姓名" 列降序排列:

SELECT * FROM Customers 
ORDER BY 省份 ASC, 姓名 DESC;

结果如下:

对姓名进行降序排列后,姓名的排序结果与升序相反。

注意:如果要对多个列进行降序排列,必须每个列后面都使用DESC。

ORDER BY与LIMIT组合实例

使用LIMIT后,我们可以找出排好序后的前几名,例如找出对省份进行升序排列后的前三名客户信息:

SELECT * FROM Customers
ORDER BY `省份`
LIMIT 3

结果显示:

结果只显示了排好序的前三位客户信息。


想从事务型数据分析师,您可以点击>>>“数据分析师”了解课程详情;

想从事数据分析师您可以点击>>>“大数据就业”了解课程详情;

想成为人工智能工程师您可以点击>>>“人工智能就业”了解课程详情;

想了解Python数据分析,您可以点击>>>“Python数据分析师”了解课程详情;

想咨询互联网运营你可以点击>>>互联网运营就业班”了解课程详情;

想了解更多优质课程,请点击>>>

完 谢谢观看

分享
收藏

OK