SQL Cookbook:二、查询结果排序(2)按多个字段排序
2010-04-26 15:10
417 查看
问题
在EMP表中,首先按照DEPTNO的升序排序,然后按照工资的降序排序,结果集应该如下所示:
解决方案
在ORDER BY子句中列出不同的排序列,使用逗号分隔:
讨论
在ORDER BY中,优先次序是从左到右。如果在SELECT列表中使用列的数字位置进行排序,那么这个数值必须不能大于SELECT列表中项目的数目。一般情况下都可以执照SELECT列表中没有的列来排序,但是必须显式地给出排序的列名。如果在查询中使用GROUP BY或DISTINCT则不能按照SELECT列表中没有的列来排序。
版权说明:作者:张颖希(PocketZ's Blog)
出处:http://www.cnblogs.com/PocketZ
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
本文翻译内容取自网络,纯粹是练习英文水平,如有雷同,纯属意外!有不妥之处,欢迎拍砖!
在EMP表中,首先按照DEPTNO的升序排序,然后按照工资的降序排序,结果集应该如下所示:
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列表中没有的列来排序。
版权说明:作者:张颖希(PocketZ's Blog)
出处:http://www.cnblogs.com/PocketZ
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
本文翻译内容取自网络,纯粹是练习英文水平,如有雷同,纯属意外!有不妥之处,欢迎拍砖!
相关文章推荐
- SQL Cookbook:二、查询结果排序(4)对字母数字混合的数据排序
- SQL Cookbook:二、查询结果排序(3)按子串排序
- SQL.Cookbook 读书笔记2 查询结果排序
- SQL Cookbook:二、查询结果排序(1)以指定的次序返回查询结果
- oracle开发之<<SQL Cookbook>>学习笔记整理:第二章 查询结果排序
- SQL Cookbook—查询、排序
- 当SQL中ORDER BY待排序字段值相同时,查询结果是什么?
- SQL Cookbook—查询、排序
- MySQL CookBook 学习笔记-07排序查询结果
- Hibernate之使用sql语句查询多个表,返回多种字段,将返回结果映射到自定义的普通pojo类中
- SQL 在查询结果中增加标记字段
- 11、SQL Server:绝对经典sql语句查询分类前几条信息 ,并按某字段排序(有点东西没看懂)
- 项目____DUPLICATE、int/varchar、根据多字段排序、根据查询结果反查
- 数据库查询排序使用随机排序结果示例(Oracle/MySQL/MS SQL Server)
- 数据库查询排序使用随机排序结果示例(Oracle/MySQL/MS SQL Server)
- sql 查询结果随机排序
- sql 查询字段结果中显示单引号
- sql查询结果字段名与字段值倒过来了
- SQL---对查询结果进行排序
- SQL查询结果把两个字段拼接到一起