MySQL基础知识——ORDER BY

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: MySQL基础知识

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" 表中的数据:

10.jpg

ORDER BY 实例

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

实例:

SELECT * FROM Customers
ORDER BY 省份;

结果:

11.jpg


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


ORDER BY DESC 实例

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

实例:

SELECT * FROM Customers
ORDER BY 省份 DESC;

结果:

12.jpg

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


ORDER BY 多列 实例

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


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


添加数据后的Customers表如下:

13.jpg

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

示例

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

结果:


14.jpg

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


ORDER BY 多列 实例2

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

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

结果:

15.jpg

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


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


ORDER BY与LIMIT组合实例

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

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

结果为:

16.jpg

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

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7月前
|
关系型数据库 MySQL 数据库
掌握MySQL数据库基础知识 同步练习与实训
掌握MySQL数据库基础知识 同步练习与实训。
86 0
|
8月前
|
存储 关系型数据库 MySQL
掌握MySQL数据库基础知识的同步练习与实训
进行掌握MySQL数据库基础知识的同步练习与实训。
106 0
|
7月前
|
算法 关系型数据库 MySQL
【MySQL系列】-ORDER BY……HAVING详解及limit
文章目录 创建学校联考成绩表 一、obder by…… having…… 1.格式: 2.作用: 3.使用: 4.使用细节: 二、limit 1. limit的格式: 2. limit的作用: 3.使用:
|
5月前
|
SQL 关系型数据库 MySQL
MySQL ORDER BY(排序) 语句
MySQL ORDER BY(排序) 语句
|
5月前
|
关系型数据库 MySQL PHP
MySQL基础知识之【元数据】
MySQL基础知识之【元数据】
45 1
|
5月前
|
SQL 前端开发 关系型数据库
MYSQL基础知识之【复制表】
MYSQL基础知识之【复制表】
48 1
|
5月前
|
前端开发 关系型数据库 MySQL
MYSQL基础知识之【临时表】
MYSQL基础知识之【临时表】
41 0
|
5月前
|
SQL 前端开发 关系型数据库
MYSQL基础知识之【索引】
MYSQL基础知识之【索引】
29 0
|
5月前
|
SQL 前端开发 关系型数据库
MYSQL基础知识之【ALERT】
MYSQL基础知识之【ALERT】
67 0
|
5月前
|
SQL 前端开发 关系型数据库
MYSQL基础知识之【LIKE子句的使用 ,NULL值的处理,空值的处理】
MYSQL基础知识之【LIKE子句的使用 ,NULL值的处理,空值的处理】
65 0