Oracle 9i 分析函数参考手册
日期:2007年8月9日 作者: 查看:[大字体 中字体 小字体]-
SAMPLE:下面例子计算按部门分区按薪水排序的数据窗口的第一个值对应的名字,如果薪水的第一个值有多个,则从多个对应的名字中取缺省排序的第一个名字SELECT department_id, last_name, salary, FIRST_VALUE(last_name) OVER (PARTITION BY department_id ORDER BY salary ASC ) AS lowest_sal FROM employees WHERE department_id in(20,30);DEPARTMENT_ID LAST_NAME SALARY LOWEST_SAL------------- ------------------------- ---------- -------------- 20 Fay 6000 Fay 20 Hartstein 13000 Fay 30 Colmenares 2500 Colmenares 30 Himuro 2600 Colmenares 30 Tobias 2800 Colmenares 30 Baida 2900 Colmenares 30 Khoo 3100 Colmenares 30 Raphaely 11000 ColmenaresLAG 功能描述:可以访问结果集中的其它行而不用进行自连接。它允许去处理游标,就好像游标是一个数组一样。在给定组中可参考当前行之前的行,这样就可以从组中与当前行一起选择以前的行。Offset是一个正整数,其默认值为1,若索引超出窗口的范围,就返回默认值(默认返回的是组中第一行),其相反的函数是LEADSAMPLE:下面的例子中列prev_sal返回按hire_date排序的前1行的salary值SELECT last_name, hire_date, salary, LAG(salary, 1, 0) OVER (ORDER BY hire_date) AS prev_sal FROM employeesWHERE job_id = 'PU_CLERK';LAST_NAME HIRE_DATE SALARY PREV_SAL------------------------- ---------- ---------- ----------Khoo 18-5月 -95 3100 0Tobias 24-7月 -97 2800 3100Baida 24-12月-97 2900 2800Himuro 15-11月-98 2600 2900Colmenares 10-8月 -99 2500 2600LAST 功能描述:从DENSE_RANK返回的集合中取出排在最后面的一个值的行(可能多行,因为值可能相等),因此完整的语法需要在开始处加上一个集合函数以从中取出记录SAMPLE:下面例子中DENSE_RANK按部门分区,再按佣金commission_pct排序,FIRST取出佣金最低的对应的所有行,然后前面的MAX函数从这个集合中取出薪水最低的值;LAST取出佣金最高的对应的所有行,然后前面的MIN函数从这个集合中取出薪水最高的值SELECT last_name, department_id, salary, MIN(salary) KEEP (DENSE_RANK FIRST ORDER BY commission_pct) OVER (PARTITION BY department_id) "Worst", MAX(salary) KEEP (DENSE_RANK LAST ORDER BY commission_pct) OVER (PARTITION BY department_id) "Best" FROM employees WHERE department_id in (20,80) ORDER BY department_id, salary;LAST_NAME DEPARTMENT_ID SALARY Worst Best------------------------- ------------- ---------- ---------- ----------Fay 20 6000 6000 13000Hartstein 20 13000 6000 13000Kumar 80 6100 6100 14000Banda 80 6200 6100 14000Johnson 80 6200 6100 14000Ande 80 6400 6100 14000Lee 80 6800 6100 14000Tuvault 80 7000 6100 14000Sewall 80 7000 6100 14000Marvins 80 7200 6100 14000Bates 80 7300 6100 14000...LAST_VALUE 功能描述:返回组中数据窗口的最后一个值。
- 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] 下一页
-
- Oracle 9i 分析函数参考手册 相关文章:
- ·破解QQ空间相册密码
- ·大智慧股票软件Level-2入门手册
- ·asp代码-注册登陆代码
- ·注册表修改大全之XP
- ·Linux学习手册
- ·西门子的员工手册
- ·2005 最新注册码大全
- ·《罪恶装备X》出招表 - 游戏手册
- ·9istatspack使用手册
- ·中兴 ZXDSL831 使用手册
- Oracle 9i 分析函数参考手册 相关软件
- ·佳影MTV电子相册制作系统 V7.2
- ·VirtuaGirl 虚拟女孩 V2.08 汉化注册版
- ·高清晰影楼相册制作系统 2007 V5.0
- ·注册码生成器 V1.0
- ·统一驾照模拟考试系统v3.0 驾校版 + 注册机
- ·COCO电脑监控系统 V 7.66 注册版
- ·delphi编程手册 V3.0
- ·Flash相册制作大师 2007 V3.1
- ·机械设计手册 V3.0
- ·佳艺超强FLASH相册 V2.0
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:(原创)ORA-01092: ORACLE 例程终止。强行断开连接
下一篇:DigitalUnixVersion4.0下Oracle8.0.5服务器的安装
精品推荐
热点TOP10
- ·9istatspack使用手册
- ·ORACLE UPDATE 语句语法与性能分析的一点看法
- ·ORACLE备份&恢复案例--ORACLE BACKUP&RESTORE SCHEME
- ·关于oracle日期函数的介绍和使用
- ·Oracle的SQL*PLUS命令的使用大全
- ·oracle函数之常见单行字符串函数
- ·ORACLE傻瓜手册长篇连载
- ·详细介绍ORACLE sqlplus命令
- ·Decode 函数的用法
- ·ORACLE 培训教程(1)
- ·Oracle 游标使用大全
- ·把Oracle数据库移植到Microsoft SQL Server 7.0
- ·Oracle数据库检查死锁的sql
- ·Oracle的SQL语句执行效率问题查找与解决方法
- ·Oracle常用的OCI函数
- ·用正则表达式函数验证身份证号码合法性
- ·VMware下RedHat安装Oracle 9i RAC全攻略
- ·oracle中pro*c的学习
- ·Oracle 9i 分析函数参考手册
- ·数据库备份与恢复测试(8)
特别推荐
- ·Oracle环境下APACHE虚拟服务器如何设置
- ·常见Oracle HINT的用法
- ·ORA-00257: archiver error. Connect internal only, until freed.
- ·oracle的update问题
- ·小议索引的使用
- ·oracle产品服务和技术级别介绍,OrACLE服务
- ·Oracle 数据类型
- ·Oracle数据库检查死锁的sql
- ·怎样将冷备份移植到另一台Solaris机器上
- ·Oracle 动态SQL返回单条结果和结果集
- ·手动建立 Oracle9i 数据库
- ·Oracle内存结构(二)----Shared Pool的详细信息
- ·DELPHI 调用 Oracle 存储过程并返回数据集的例子.
- ·关于block中行数据的存储与空间重组三
- ·Sybase及SQL Anywhere SQL语句小结
- ·ORACLE备份&恢复案例--ORACLE BACKUP&RESTORE SCHEME
- ·Oracle ERP 11业务调研报告-AP应付帐
- ·在 Oracle 数据库上构建 .NET 应用程序
- ·Oracle的SQL语句执行效率问题查找与解决方法
- ·oracle中pro*c的学习
