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
相关文档:
课程九 声明变量
本课重点:
1、了解基本的PLSQL块和区域
2、描述变量在PLSQL中的重要性
3、区别PLSQL与非PLSQL变量
4、声明变量
5、执行PLSQL块
注意:以下实例中标点均为英文半角
一、概述:
1、PLSQL 块结构:
DECLARE --- 可选
变量声 ......
课程十二 编写控制结构语句
本课重点:
1、结构控制的的用途和类型
2、IF 结构
3、构造和标识不同的循环
4、使用逻辑表
5、控制流和嵌套
注意:以下实例中标点均为英文半角
一、控制执行流
可以是分支和循环:IF THEN END IF
IF condition THEN ......
NO ACTION
指定如果试图删除/修改某一行,而该行的键被其他表的现有行中的外键所引用,则产生错误并回滚 DELETE/UPDATE语句。
CASCADE、SET NULL 和 SET DEFAULT
允许通过删除或更新键值来影响指定具有外键关系的表,这些外键关系可追溯到在其中进行修改的表。如果为目标表也定义了级联引用操作,那么指定的级联操 ......
--查询当前连接的实例名
select @@servername
--察看任何数据库属性
sp_helpdb master
--设置单用户模式,同时立即断开所有用户
alter database Northwind set single_user with rollback immediate
--恢复正常
alter database Northwind set multi_user
--察看数据库属性
sp_helpdb
--察看数据库恢复模式
sel ......
[可用]如果出现安装sql server 2000要求CD-KEY的情况,请使用regedt32找开注册表,在以下主键[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager]中建立一个DWORD键
SafeDLLSearchMode并设值为0
这个试过,是可以用的
H6TWQ-TQQM8-HXJYG-D69F7-R84VM - ......