当前位置:嗨网首页>书籍在线阅读

09-对查询结果进行排序

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

8.3 对查询结果进行排序

本节视频教学录像:2分钟

使用ORDER BY 子句对查询结果进行排序,可以根据一列或多列对结果进行升序(ASC)和降序(DESC)的排列,缺省默认为升序。

【范例8-19】

查询学生的学号、姓名、年龄,结果按年龄降序排列。

MySQL> select sno,sname,sage -> from student -> order by sage desc;

结果如下。

+-----+-------+------+ | sno | sname | sage | +-----+-------+------+ | 2|周松 | 21| | 4|孟欣 | 21| | 3|张明 | 20| | 1|刘敏 | 19| +-----+-------+------+ 4 rows in set (0.00 sec)

该结果中,有两个年龄为21的,记录的先后顺序可以根据另外一列的的升序或降序排列。

【范例8-20】

查询学生的学号、姓名、年龄,结果按年龄降序排列,若年龄相同,则按照学号的降序进行排列。

MySQL> select sno,sname,sage -> from student -> order by sage desc,sno desc;

结果如下。

+-----+-------+------+ | sno | sname | sage | +-----+-------+------+ | 4|孟欣 | 21| | 2|周松 | 21| | 3|张明 | 20| | 1|刘敏 | 19| +-----+-------+------+ 4 rows in set (0.00 sec)

提示 对于NULL值的处理,不同DBMS采用不同的处理方式。MySQL中,升序时NULL值在最前方,降序时NULL排在最后。