数据排序
语法格式:
SELECT 字段名1, 字段名2,... FROM 表名 ORDER BY 排序字段 ASC; //升序
SELECT 字段名1, 字段名2,... FROM 表名 ORDER BY 排序字段 DESC; //降序
注意:
(1)数据排序:用到ORDER BY,其中ASC表示升序排列,DESC表示降序排列;
(2)MySQL中默认是升序排列,即不写ASC或DESC的情况下,默认为升序;
举例说明:有一张students学生表,表的设计详见第016章节:https://blog.youkuaiyun.com/weixin_43184774/article/details/115295386
students学生表如下:
例1:在students学生表中按照成绩升序,查询出学生姓名和成绩?
SELECT name,score FROM students ORDER BY score; //方式一
SELECT name,score FROM students ORDER BY score ASC; //方式二
例2:在students学生表中按照成绩降序,查询出学生姓名和成绩?
SELECT name,score FROM students ORDER BY score DESC;
例3:在students学生表中按照班级的降序排列,当班级相同的时候再按照成绩的升序排列?
SELECT name,score,class FROM students ORDER BY class DESC,score ASC;
注意:
(1)越靠前的字段越能起到主导性作用,只有当前面的字段无法完成排序的时候,才会启动后面的字段;
(2)我们可以用数字来表示我们要查询的字段,其中:这里的数字指的是该字段在第几列
比如:上面的例3查询语句还可以像下面这样写:
SELECT name,score,class FROM students ORDER BY 3 DESC,2 ASC;
例4:在students学生表中查询班级为3班的,并且要求按照成绩的降序进行排列?
SELECT name,score,class FROM students WHERE class = 3 ORDER BY score DESC;
★重点注意:
以上语句的执行顺序及原理是:
先执行FROM,再执行WHERE,接着执行SELECT,最后执行ORDER BY,即:
FROM —> WHERE —> SELECT —> ORDER BY
SELECT
字段名 第3步
FROM
表名 第1步
WHERE
条件 第2步
ORDER BY
字段升降序 第4步