ORDER BY语句是用来进行排序的,后面跟着需要进行排序的字段
基本语法:
select <字段名> from <表名> order by <字段名>;
1.ORDER BY语句后面接数据:
- 可以是表中现有的字段名
- 可以给数字进行排序,也可以给字符,文字排序
- 默认是升序排序(ASC),DESC是倒序排序
实例1:将学生表的学生根据年龄进行排序
select Sage AS '年龄正序排序' from students order by Sage
执行结果:
2.ORDER BY语句后面有多个字段进行排序:
- 跟多个字段名时,字段名以英文逗号进行隔开
- 任何一个单独的字段名都可以加降序排序(DESC)
- 字段的顺序很重要,会根据第一个字段排序,第一个字段相同,在根据第二个字段排序
实例2:将学生表的学生根据性别进行倒序排序,在根据年龄进行升序排序
SELECT
Ssex AS '性别倒序排序',
Sage AS '年龄正序排序'
FROM students ORDER BY Ssex DESC,Sage
执行结果:
3.在MySQL中,使用order by 后面可以:
- 使用列别名进行排序
- 用任何列进行排序,不管这一列是否在select子句中
实例3:
select Sname,Sid+100 AS '新的编号' from students order by Ssex,'新编号'
执行结果:
如上结果我们可以看到:
- 查询出的列只有Sname和新的编号这两列,
- 而Ssex和新编号这两个分别是:没有在select子句中的列和别名列
这个属于是MySQL的特性,如果在其他的数据库系统中这样查可能会报错
实例4:在成绩表中,将课程编号(Cid)为1的数据,根据分数(score)进行倒序排序
select * from scores where Cid = 1 order by score DESC
执行结果: