MySQL asc、desc数据排序的实现
数据排序 asc、desc
1、单一字段排序order by 字段名称
作用: 通过哪个或哪些字段进行排序
含义: 排序采用 order by 子句,order by 后面跟上排序字段,排序字段可以放多个,多个采用逗号间隔,order by默认采用升序(asc),如果存在 where 子句,那么 order by 必须放到where 语句后面。
(1)、按照薪水由小到大排序(系统默认由小到大)
例如: select ename,sal from emp order by sal;
(2)、取得job 为 MANAGER 的员工,按照薪水由小到大排序(系统默 认由小到大)
例如: select ename,job,sal from emp where job = ”MANAGER”order by sal;
如果包含 where 语句 order by 必须放到 where 后面,如果没有 where 语句 order by 放到表的后面;
(3)、以下询法是错误的:
select * from emp order by sal whereselect * from emp order by sal where job = ‘MANAGER';
2、手动指定字段排序
(1)、手动指定按照薪水由小到大排序(升序关键字 asc)
例如: select ename,sal from emp order by sal asc;
(2)、手动指定按照薪水由大到小排序(降序关键字desc)
例如: select ename,sal from emp order by sal desc;
3、多个字段排序
(1)、按照 job 和薪水倒序排序
例如: select ename,job,ename from emp order by job desc,sal desc;
注意: 如果采用多个字段排序,如果根据第一个字段排序重复了,会根据第二个字段排序;
4、使用字段位置排序
(1)、按照薪水升序排序(不建议采用此方法,采用数字含义不明确,可读性不强,程序不健壮)
select * from emp order by 6;
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
更新text字段时出现Row size too large报错应付措施
个人建议:表的text字段很多建议建表时加上 row_format = dynamic当然,回过头来MySQL的报错也是有误导性的,感兴趣的你可以参考下本文2013-03-03MySQL server has gone away错误提示解决方法
今天遇到类似的情景,MySQL只是冷冷的说:MySQL server has gone away。2008-11-11
最新评论