MySQL排序 - 极悦
MySQL数据库概述及数据准备
MySQL数据库常用命令
MySQL数据库查看表结构
MySQL查询字段
MySQL条件查询
MySQL排序
MySQL函数
MySQL分组函数/聚合函数/多行处理函数
MySQL分组查询
MySQL连接查询
MySQL子查询
MySQL UNION
MySQL中limit的用法
MySQL表
MySQL存储引擎
MySQL事务
MySQL索引
MySQL视图
MySQL DBA命令
MySQL数据库设计的三大范式
MySQL数据库练习题

MySQL排序

单一字段排序

排序采用order by子句,order by后面跟上排序字段,排序字段可以放多个,多个采用逗号间隔,order by默认采用升序,如果存在where子句那么order by必须放到where语句的后面。

● 按照薪水由小到大排序(系统默认由小到大)

select * from emp order by sal;

● 取得job为MANAGER的员工,按照薪水由小到大排序(系统默认由小到大)

select * from emp where job='MANAGER' order by sal;

如果包含where语句order by必须放到where后面,如果没有where语句order by放到表的后面。

以下写法是错误的:

select * from emp order by sal where job='MANAGER';

● 按照多个字段排序,如:首先按照job排序,再按照sal排序

select * from emp order by job,sal;

手动指定排序顺序

● 手动指定按照薪水由小到大排序

select * from emp order by sal asc;

● 手动指定按照薪水由大到小排序

select * from emp order by sal desc;

多个字段排序

● 按照job和薪水倒序

select * from emp order by job desc, sal desc;

如果采用多个字段排序,如果根据第一个字段排序重复了,会根据第二个字段排序。

使用字段的位置来排序

● 按照薪水升序

select * from emp order by 6;

不建议使用此种方式,采用数字含义不明确,程序不健壮。

全部教程