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排在最后。