公告

👇 QQ 👇 --- 👇 赞赏 👇


Skip to content

MySQL | DQL语句-排序操作

更新: 3/18/2025 字数: 777 字 时长: 4 分钟

MySQL安装教程


排序操作很常用,比如查询学员成绩,按照成绩降序排列排序的SQL语法

sql
select .. from .. order by 字段 asc/desc
  • select .. from ..:查询语句
  • order by 字段:排序语句
  • 字段:要排序的字段名
  • asc:升序,默认排序方式
  • desc:降序

单一字段升序

查询员工的编号、姓名、薪资,按照薪资升序排列

sql
select empno,ename,sal from emp order by sal asc;
sql
mysql> select empno,ename,sal from emp order by sal asc;

+-------+--------+---------+
| empno | ename  | sal     |
+-------+--------+---------+
|  7369 | SMITH  |  800.00 |
|  7900 | JAMES  |  950.00 |
|  7876 | ADAMS  | 1100.00 |
|  7521 | WARD   | 1250.00 |
|  7654 | MARTIN | 1250.00 |
|  7934 | MILLER | 1300.00 |
|  7844 | TURNER | 1500.00 |
|  7499 | ALLEN  | 1600.00 |
|  7782 | CLARK  | 2450.00 |
|  7698 | BLAKE  | 2850.00 |
|  7566 | JONES  | 2975.00 |
|  7788 | SCOTT  | 3000.00 |
|  7902 | FORD   | 3000.00 |
|  7839 | KING   | 5000.00 |
+-------+--------+---------+
14 rows in set (0.00 sec)

单一字段降序

查询员工的编号、姓名、薪资,按照薪资降序排列

sql
select empno,ename,sal from emp order by sal desc;
sql
mysql> select empno,ename,sal from emp order by sal desc;

+-------+--------+---------+
| empno | ename  | sal     |
+-------+--------+---------+
|  7839 | KING   | 5000.00 |
|  7788 | SCOTT  | 3000.00 |
|  7902 | FORD   | 3000.00 |
|  7566 | JONES  | 2975.00 |
|  7698 | BLAKE  | 2850.00 |
|  7782 | CLARK  | 2450.00 |
|  7499 | ALLEN  | 1600.00 |
|  7844 | TURNER | 1500.00 |
|  7934 | MILLER | 1300.00 |
|  7521 | WARD   | 1250.00 |
|  7654 | MARTIN | 1250.00 |
|  7876 | ADAMS  | 1100.00 |
|  7900 | JAMES  |  950.00 |
|  7369 | SMITH  |  800.00 |
+-------+--------+---------+
14 rows in set (0.00 sec)

默认采用升序

查询员工的编号、姓名、薪资,按照薪资升序排列

sql
select empno,ename,sal from emp order by sal;
sql
mysql> select empno,ename,sal from emp order by sal;

+-------+--------+---------+
| empno | ename  | sal     |
+-------+--------+---------+
|  7369 | SMITH  |  800.00 |
|  7900 | JAMES  |  950.00 |
|  7876 | ADAMS  | 1100.00 |
|  7521 | WARD   | 1250.00 |
|  7654 | MARTIN | 1250.00 |
|  7934 | MILLER | 1300.00 |
|  7844 | TURNER | 1500.00 |
|  7499 | ALLEN  | 1600.00 |
|  7782 | CLARK  | 2450.00 |
|  7698 | BLAKE  | 2850.00 |
|  7566 | JONES  | 2975.00 |
|  7788 | SCOTT  | 3000.00 |
|  7902 | FORD   | 3000.00 |
|  7839 | KING   | 5000.00 |
+-------+--------+---------+
14 rows in set (0.00 sec)

查询员工的编号、姓名,按照姓名升序排列

sql
select empno,ename from emp order by ename;
sql
mysql> select empno,ename from emp order by ename;

+-------+--------+
| empno | ename  |
+-------+--------+
|  7876 | ADAMS  |
|  7499 | ALLEN  |
|  7698 | BLAKE  |
|  7782 | CLARK  |
|  7902 | FORD   |
|  7900 | JAMES  |
|  7566 | JONES  |
|  7839 | KING   |
|  7654 | MARTIN |
|  7934 | MILLER |
|  7788 | SCOTT  |
|  7369 | SMITH  |
|  7844 | TURNER |
|  7521 | WARD   |
+-------+--------+
14 rows in set (0.00 sec)

多个字段排序

查询员工的编号、姓名、薪资,按照薪资升序排列,如果薪资相同的,再按照姓名升序排列

sql
select empno,ename,sal from emp order by sal asc, ename asc;
sql
mysql> select empno,ename,sal from emp order by sal asc, ename asc;

+-------+--------+---------+
| empno | ename  | sal     |
+-------+--------+---------+
|  7369 | SMITH  |  800.00 |
|  7900 | JAMES  |  950.00 |
|  7876 | ADAMS  | 1100.00 |
|  7654 | MARTIN | 1250.00 |
|  7521 | WARD   | 1250.00 |
|  7934 | MILLER | 1300.00 |
|  7844 | TURNER | 1500.00 |
|  7499 | ALLEN  | 1600.00 |
|  7782 | CLARK  | 2450.00 |
|  7698 | BLAKE  | 2850.00 |
|  7566 | JONES  | 2975.00 |
|  7902 | FORD   | 3000.00 |
|  7788 | SCOTT  | 3000.00 |
|  7839 | KING   | 5000.00 |
+-------+--------+---------+
14 rows in set (0.00 sec)

where和order by的位置

找出岗位是MANAGER的员工姓名和薪资,按照薪资升序排列

sql
select ename,sal from emp where job = 'MANAGER' order by sal asc;
sql
mysql> select ename,sal from emp where job = 'MANAGER' order by sal asc;
+-------+---------+
| ename | sal     |
+-------+---------+
| CLARK | 2450.00 |
| BLAKE | 2850.00 |
| JONES | 2975.00 |
+-------+---------+
3 rows in set (0.00 sec)

通过这个例子主要是想告诉大家:where先执行order by语句最后执行的。

贡献者

The avatar of contributor named as XingJi-love XingJi-love

页面历史

Nickname
Email
Website
0/500
0 comments
Playlist
Total 22
  • That Girl-Olly Murs
    Olly Murs
  • 我愿 (变速版)-阿虾
    阿虾
  • 我怀念的-孙燕姿
    孙燕姿
  • 瞬-郑润泽
    郑润泽
  • 唯一-G.E.M.邓紫棋
    G.E.M.邓紫棋
  • 特别的人-方大同
    方大同
  • 白鸽乌鸦相爱的戏码-潘成(皮卡潘)
    潘成(皮卡潘)
  • 春娇与志明-街道办GDC&欧阳耀莹
    街道办GDC&欧阳耀莹
  • 最后一页
    最后一页
  • 起风了-买辣椒也用券
    买辣椒也用券
  • 平凡之路
    平凡之路
  • 光辉岁月-Beyond
    Beyond
  • 全斗焕の小曲
    全斗焕
  • Shake And Sway(DJ版)-南辰&刘媛媛
    南辰&刘媛媛
  • 你若三冬 (DJ Liu 9版)-阿悠悠&Liu 9
    阿悠悠&Liu 9
  • 牵丝戏-银临&Aki阿杰
    银临&Aki阿杰
  • 白鸽乌鸦相爱的戏码-潘成(皮卡潘)
    潘成(皮卡潘)
  • 春娇与志明-街道办GDC&欧阳耀莹
    街道办GDC&欧阳耀莹
  • 最后一页
    最后一页
  • 起风了-买辣椒也用券
    买辣椒也用券
  • 平凡之路
    平凡之路
  • 光辉岁月-Beyond
    Beyond

布局切换

调整 VitePress 的布局样式,以适配不同的阅读习惯和屏幕环境。

全部展开
使侧边栏和内容区域占据整个屏幕的全部宽度。
全部展开,但侧边栏宽度可调
侧边栏宽度可调,但内容区域宽度不变,调整后的侧边栏将可以占据整个屏幕的最大宽度。
全部展开,且侧边栏和内容区域宽度均可调
侧边栏宽度可调,但内容区域宽度不变,调整后的侧边栏将可以占据整个屏幕的最大宽度。
原始宽度
原始的 VitePress 默认布局宽度

页面最大宽度

调整 VitePress 布局中页面的宽度,以适配不同的阅读习惯和屏幕环境。

调整页面最大宽度
一个可调整的滑块,用于选择和自定义页面最大宽度。

内容最大宽度

调整 VitePress 布局中内容区域的宽度,以适配不同的阅读习惯和屏幕环境。

调整内容最大宽度
一个可调整的滑块,用于选择和自定义内容最大宽度。

聚光灯

支持在正文中高亮当前鼠标悬停的行和元素,以优化阅读和专注困难的用户的阅读体验。

ON开启
开启聚光灯。
OFF关闭
关闭聚光灯。

聚光灯样式

调整聚光灯的样式。

置于底部
在当前鼠标悬停的元素下方添加一个纯色背景以突出显示当前鼠标悬停的位置。
置于侧边
在当前鼠标悬停的元素旁边添加一条固定的纯色线以突出显示当前鼠标悬停的位置。