易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL分组排序

 
今天遇到个有意思的问题,是一个分组排序的问题,不过要求分组和分组间也要排序,如果这个组内有一条数据是最近更新的,那么这整个组都应该排在前面。
下面以Oracle的HR示例Schema中的employees表为例:
语句按部门分组,分组之间的排序是这样的:如果整个分组中有一个员工的hire_date是最新的,那么这个分组就应该排在其他分组的前面。分组内部的排序也是按照hire_date来排的。
SQL语句如下,在Oracle 10g XE中通过测试
SELECT oe.department_id, oe.employee_id, oe.last_name,oe.hire_date,sq.maxd
from employees oe JOIN
(
SELECT e.department_id,max(e.HIRE_DATE) maxd
from employees e
GROUP BY e.department_id
ORDER BY maxd desc
) sq
ON oe.department_id=sq.department_id
ORDER BY sq.maxd desc,oe.hire_date


相关文档:

Oracle 学习:PL/SQL循序渐进全面学习教程

 课程八 用户访问控制
  
  本课重点:
  1、创建用户
  2、创建角色来进行安全设置
  3、使用GRANT或REVOKE 来控制权限
  
  注意:以下实例中标点均为英文半角
  
  一、概述:
  ORACLE通过用户名和密码进行权限控制。
  数据库安全:系统安全和数据安全
  系统权限:使用户可 ......

Oracle 学习:PL/SQL循序渐进全面学习教程

 课程九 声明变量
  
  本课重点:
  1、了解基本的PLSQL块和区域
  2、描述变量在PLSQL中的重要性
  3、区别PLSQL与非PLSQL变量
  4、声明变量
  5、执行PLSQL块
  
  注意:以下实例中标点均为英文半角
  
  一、概述:
  1、PLSQL 块结构:
  DECLARE --- 可选
  变量声 ......

Oracle 学习:PL/SQL循序渐进全面学习教程

 课程十 写执行语句
  
  本课重点:
  1、了解PLSQL执行区间的重要性
  2、写执行语句
  3、描述嵌套块的规则
  4、执行且测试PLSQL块
  5、使用代码惯例
  
  注意:以下实例中标点均为英文半角
  
  一、PLSQL 块的语法规则:
  1、语句可以跨跃几行。
  2、词汇单元可以包 ......

Oracle与SQL Server数据互用性(3)

 作者 Haidong Ji  翻译 GoodKid
在我的关于Oracle和SQL Server 互用性的系列文章 part 1 和 part 2 当中,我讨论了Oracle和SQL Server 的一些不同点的话题以及Oracle驱动的可选性。在本主题中,我将讨论一个来自Oracle 10g的新工具,Oracle即时客户端。
对于Oracle 10g以前的版本,如果想建立和Oracle的连接, ......

Oracle与SQL Server数据互易性(1)

作者 Haidong Ji 翻译 GoodKid
我们当中的大部分人工作在一个单一的 RDBMS 系统中,如 MSSQL, Oracle, or IBM DB2。然而,我们日益感觉到,我们正处于不同的数据库环境当中并且需要解决数据的互用性问题。
尽管主要的 RDBMS 厂商试图去遵循关系数据库模型原理,并且用非常小的差异去实现它们。另外,几乎主要的 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号