19.MySQL中的ORDER BY(排序 )

在项目开发时,为了使查询的数据结果满足用户的要求,通常会对查询出的数据进行上升或下降的排序。

MySQL提供了两种排序的方式,分别为单字段排序多字段排序

1.准备

 1 CREATE DATABASE mahaiwuji;
 2 USE mahaiwuji;
 3 
 4 CREATE TABLE emp
 5 (
 6     empno INT PRIMARY KEY,
 7     ename VARCHAR(10),
 8     sal INT,
 9     deptno INT
10 ) ENGINE = INNODB DEFAULT CHARSET = utf8;
11 
12 INSERT INTO emp VALUES (1,'smith',1800,20);
13 INSERT INTO emp VALUES (2,'allen',1500,10);
14 INSERT INTO emp VALUES (3,'ward',1600,30);
15 INSERT INTO emp VALUES (4,'jones',2000,30);
16 INSERT INTO emp VALUES (5,'martin',1800,10);
17 INSERT INTO emp VALUES (6,'blake',1800,30);

2.语法

 1 order by a  --a升序
 2 order by a asc --a升序
 3 order by a desc  --a降序
 4 order by a,b  --a和b都是升序
 5 order by a,b desc  --a升序,b降序
 6 order by a desc,b  --a降序,b升序
 7 order by a desc,b desc  --a和b都是降序
 8 /*
 9     1.如果不指定排序的标准,则默认是升序,升序用asc表示,默认可以不写
10     2.为一个字段指定的排序标准并不会对另一个字段产生影响
11 */

3.实例演示

1 -- 按照sal升序排序
2 SELECT * FROM emp ORDER BY sal;
3 -- 等价于
4 SELECT * FROM emp ORDER BY sal ASC;

1 -- 按照sal降序排序
2 SELECT * FROM emp ORDER BY sal DESC;

1 -- 先按照deptno升序排序,如果deptno相同,在按照sal升序排序
2 SELECT * FROM emp ORDER BY deptno,sal;

1 -- 先按照deptno降序排序,如果deptno相同,在按照sal升序排序
2 SELECT * FROM emp ORDER BY deptno DESC,sal;

posted @ 2020-04-10 08:36  码海无际  阅读(485)  评论(0)    收藏  举报