19.MySQL中的ORDER BY(排序 )

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

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

1.准备

CREATE DATABASE mahaiwuji;
USE mahaiwuji;

CREATE TABLE emp
(
    empno INT PRIMARY KEY,
    ename VARCHAR(10),
    sal INT,
    deptno INT
) ENGINE = INNODB DEFAULT CHARSET = utf8;

INSERT INTO emp VALUES (1,'smith',1800,20);
INSERT INTO emp VALUES (2,'allen',1500,10);
INSERT INTO emp VALUES (3,'ward',1600,30);
INSERT INTO emp VALUES (4,'jones',2000,30);
INSERT INTO emp VALUES (5,'martin',1800,10);
INSERT INTO emp VALUES (6,'blake',1800,30);
s19_1.png

2.语法

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

3.实例演示

-- 按照sal升序排序
SELECT * FROM emp ORDER BY sal;
-- 等价于
SELECT * FROM emp ORDER BY sal ASC;
s19_2.png
-- 按照sal降序排序
SELECT * FROM emp ORDER BY sal DESC;
s19_3.png
-- 先按照deptno升序排序,如果deptno相同,在按照sal升序排序
SELECT * FROM emp ORDER BY deptno,sal;
s19_4.png
-- 先按照deptno降序排序,如果deptno相同,在按照sal升序排序
SELECT * FROM emp ORDER BY deptno DESC,sal;
s19_5.png

你可能感兴趣的:(19.MySQL中的ORDER BY(排序 ))