MySQL—— 排序

Posted 大彤小忆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL—— 排序相关的知识,希望对你有一定的参考价值。

4. 排序

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

4.1 单一字段排序

  • 按照薪水由小到大排序(系统默认升序):select * from emp order by sal;

  • 查询 job 为 MANAGER 的员工,按照薪水由小到大排序(系统默认升序):select * from emp where job='MANAGER' order by sal;


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

4.2 手动指定排序顺序

  • 手动指定按照薪水由小到大排序:select * from emp order by sal asc;

  • 手动指定按照薪水由大到小排序:select * from emp order by sal desc;

4.3 多个字段排序

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

  • 按照多个字段排序,如:首先按照 job 排序,再按照 sal 排序:select * from emp order by job,sal;

  • 按照 job 和薪水倒序:select * from emp order by job desc, sal desc;

4.4 使用字段的位置来排序

  • 按照薪水升序:select * from emp order by 6;


      不建议使用此种方式,因为采用数字含义不明确,程序不健壮,列的顺序可能会被修改。

4.5 综合案例

  • 找出工资在1250到3000之间的员工信息,要求按照薪资降序排列:select ename,sal from emp where sal between 1250 and 3000 order by sal desc;

  关键字顺序不能变:

select
	...
from
	...
where
	...
order by
	...

  以上语句的执行顺序:
  第一步:from
  第二步:where
  第三步:select
  第四步:order by(排序总是在最后执行!)

以上是关于MySQL—— 排序的主要内容,如果未能解决你的问题,请参考以下文章

部分代码片段

linux中怎么查看mysql数据库版本

从mysql的片段中加载ListView

连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段

使用 json rereiver php mysql 在片段中填充列表视图

以下代码片段的时间复杂度是多少?