易截截图软件、单文件、免安装、纯绿色、仅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、写执行语句
  3、描述嵌套块的规则
  4、执行且测试PLSQL块
  5、使用代码惯例
  
  注意:以下实例中标点均为英文半角
  
  一、PLSQL 块的语法规则:
  1、语句可以跨跃几行。
  2、词汇单元可以包 ......

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

 最后一课 异常处理本章重点:
  
  1、定义PLSQL异常
  2、列举不同的异常处理方法
  3、捕获非预期的错误
  4、描述异常的影响
  5、定制异常的返回信息  一、PLSQL异常处理
  异常是由ORACLE错误或显式的抛出一个错误产生的。
  如何处理:
  用一个处理程序来捕获它;
  将它传递 ......

sql外键约束NO ACTION,CASCADE,SET NULL,SET DEFAULT

 NO ACTION
指定如果试图删除/修改某一行,而该行的键被其他表的现有行中的外键所引用,则产生错误并回滚 DELETE/UPDATE语句。
CASCADE、SET NULL 和 SET DEFAULT
允许通过删除或更新键值来影响指定具有外键关系的表,这些外键关系可追溯到在其中进行修改的表。如果为目标表也定义了级联引用操作,那么指定的级联操 ......

Microsoft SQL Server 管理 (常用管理及维护命令)


--查询当前连接的实例名
select @@servername
--察看任何数据库属性
sp_helpdb master
--设置单用户模式,同时立即断开所有用户
alter database Northwind set single_user with rollback immediate
--恢复正常
alter database Northwind set multi_user
--察看数据库属性
sp_helpdb
--察看数据库恢复模式
sel ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号