MySQL中的排序 order by

排序 order by

所使用到的表
在这里插入图片描述

order by再sql语句中的用法:

select
    ...
from
    ...
where
    ...
order by
    字段名

当我们查询出结果后,根据结果集中的某个字段进行排序,order by 字段名 排序方式(升序/降序)

单字段排序

查询出表中的ename字段并对其进行排序

select enamefrom emp order by ename;

在这里插入图片描述
这里所显示的ename 是按照字母(A-Z)的顺序来排列的,是升序,这也是默认情况下,我们没有设置排序是按照降序还是升序。

order by 字段名 desc;	降序排序列
order by 字段名 asc;		升序排列(默认)

查询员工姓名和工资字段的数据,并按照工资的升序/降序进行排列

select ename,sal from emp order by sal;
select ename,sal from emp order by sal asc;
select ename,sal from emp order by sal desc ;

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

多字段排序

当我们在进行数据查询的时候,不免会遇到两个数据相同的情况,这时候要想将他们分出个先后顺序就要借助其他字段进行排序了,需要使用到多字段排序

查询员工的名字和薪资,要求薪资按照升序排列,当薪资相同时,再按照名字升序排列

select 
    ename,sal
from
    emp
order by
    sal asc,ename asc;

在这里插入图片描述
在上面单使用sal字段进行升序排序时,FORD和SCOTT两人的工资相同,SCOTT排到了FORD之前。但这里我们使用sal和ename两个字段进行排序时,FORD排到了SCOTT之前,这是因为ename字段按照升序排列的原因。

根据字段位置排序,不建议,因为列的顺序可能发生变化,列顺序改变之后,数字代表的字段也就变了。

按照第二列数据进行排序
select ename,sal from emp order by 2 asc ;

在这里插入图片描述

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值