SQL 多字段排序

描述:

针对 EMP 表的数据,你想先按照 DEPTNO 升序排列,然后再按照 SAL 降序排列。你希望返回如下所示的结果集。

EMPNO     DEPTNO        SAL ENAME      JOB
---------- ---------- ---------- ---------- ---------
      7839         10       5000 KING       PRESIDENT
      7782         10       2450 CLARK      MANAGER
      7934         10       1300 MILLER     CLERK
      7788         20       3000 SCOTT      ANALYST
      7902         20       3000 FORD       ANALYST
      7566         20       2975 JONES      MANAGER
      7876         20       1100 ADAMS      CLERK
      7369         20        800 SMITH      CLERK
      7698         30       2850 BLAKE      MANAGER
      7499         30       1600 ALLEN      SALESMAN
      7844         30       1500 TURNER     SALESMAN
      7521         30       1250 WARD       SALESMAN
      7654         30       1250 MARTIN     SALESMAN
      7900         30        950 JAMES      CLERK

方法:

在 ORDER BY 子句中列出不同的排序列,以逗号分隔。

select empno,deptno,sal,ename,job
  from emp
  order by deptno, sal desc

扩展知识:

ORDER BY 的执行顺序是从左到右的。如果使用 SELECT 列表项对应的位置序号来指定排序项,那么这个数字序号不能大于 SELECT 列表里的项目个数。一般而言,你也可以根据一个没有被包含在 SELECT 列表里的列来排序,但必须明确地指定列名。不过,如果你的查询语句里有 GROUP BY 或 DISTINCT,那么就不能按照 SELECT列表之外的列进行排序。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值