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);

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 */
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;

码海无际

浙公网安备 33010602011771号