站长网 MySql教程 MySQL ORDER BY单字段排序

MySQL ORDER BY单字段排序

在实际应用中经常需要对查询结果进行排序,比如,在网上购物时,可以将商品按照价格进行排序;在医院的挂号系统中,可以按照挂号的先后顺序进行排序等。 ORDER BY 关键字主要用来将查询结果中的数据按照一定的顺序进行排序。其语法格式如下: ORDER BY 字段

在实际应用中经常需要对查询结果进行排序,比如,在网上购物时,可以将商品按照价格进行排序;在医院的挂号系统中,可以按照挂号的先后顺序进行排序等。

ORDER BY 关键字主要用来将查询结果中的数据按照一定的顺序进行排序。其语法格式如下:

ORDER BY <字段名> [ASC|DESC]

语法说明如下。

字段名:表示需要排序的字段名称,多个字段时用逗号隔开。

ASC|DESC:ASC表示字段按升序排序;DESC表示字段按降序排序。其中ASC为默认值。

使用 ORDER BY 关键字应该注意以下几个方面:

ORDER BY 关键字后可以跟子查询(关于子查询后面教程会详细讲解,这里了解即可)。

当排序的字段中存在空值时,ORDER BY 会将该空值作为最小值来对待。

ORDER BY 指定多个字段进行排序时,MySQL 会按照字段的顺序从左到右依次进行排序。

单字段排序
下面通过一个具体的实例来说明当 ORDER BY 指定单个字段时,MySQL 如何对查询结果进行排序。

例 1
下面查询 tb_students_info 表的所有记录,并对 height 字段进行排序,SQL 语句和运行结果如下。

mysql> SELECT * FROM tb_students_info ORDER BY height;
+—-+——–+———+——+——+——–+————+
| id | name | dept_id | age | sex | height | login_date |
+—-+——–+———+——+——+——–+————+
| 2 | Green |
3 | 23 | F | 158 | 2016-10-22 |
| 1 | Dany |
1 | 25 | F | 160 | 2015-09-10 |
| 4 | Jane |
1 | 22 | F | 162 | 2016-12-20 |
| 7 | Lily |
6 | 22 | F | 165 | 2016-02-26 |
| 10 | Tom |
4 | 23 | M | 165 | 2016-08-05 |
| 8 | Susan |
4 | 23 | F | 170 | 2015-10-01 |
| 6 | John |
2 | 21 | M | 172 | 2015-11-11 |
| 5 | Jim |
1 | 24 | M | 175 | 2016-01-15 |
| 9 | Thomas |
3 | 22 | M | 178 | 2016-06-07 |
| 3 | Henry |
2 | 23 | M | 185 | 2015-05-31 |
+—-+——–+———+——+——+——–+————+
10 rows in set (0.08 sec)
由结果可以看到,MySQL 对查询的 height 字段的数据按数值的大小进行了升序排序。

多字段排序
下面通过一个具体的实例来说明当 ORDER BY 指定多个字段时,MySQL 如何对查询结果进行排序。

例 2
查询 tb_students_info 表中的 name 和 height 字段,先按 height 排序,再按 name 排序,SQL 语句和运行结果如下。

本文来自网络,不代表站长网立场,转载请注明出处:https://www.tzzz.com.cn/html/jc/mysql/2021/0602/8898.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部