- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ORACLE 分析函数的应用
分析函数的应用(更新版)
前言:1. 对原文重新排版,增强可读性2. 文中列举的例子都在scott/tiger用户下测试通过,增强可操作性,易验证。3. 继续增加:分析函数在美同统计系统中的应用,分析函数性能比较4. 欢迎大家批评指正.
概述:分析函数(oracle8.1.6以后版本支持),为解决Calculate a running total, Find percentages within a group, Top-N queries, Compute a moving average等问题而设计的。标准的PL/SQL可以解决大部分问题,然而性能不尽人意。分析函数就是标准SQL的语言插件,不仅编码简单,而且性能比纯SQL和PL/SQL好。分析函数已经获得ANSI SQL机构鉴定,增添到标准的SQL规范里。
分析函数如何工作的呢?:分析函数用来计算一组数据的集合的值。不同于每组返回多行的集合函数。一组多行数据的集合称为窗口,可以用分析子句实现界定。针对每行数据而言,定义了一个多行的移动的窗口.在计算当前行数据时候,窗口决定了计算多行数据的一个范围,窗口的尺寸由物理的行数或逻辑分割点(如:时间)决定。除了order by 语句外,分析函数是在查询语句中后最后执行的语句,所有的表连接(joins),group by,having 语句都是在分析函数之前执行。故分析函数只出现在select和order by语句中。语法:
Analytic-Function(Argument,Argument,...)OVER (Query-Partition-ClauseOrder-By-ClauseWindowing-Clause )
分析函数:(黑体函数本文有例子解释)
AVG, CORR, COVAR_POP, COVAR_SAMP, COUNT, CUME_DIST, DENSE_RANK, FIRST, FIRST_VALUE, LAG, LAST,LAST_VALUE, LEAD, MAX, MIN, NTILE, PERCENT_RANK, PERCENTILE_CONT, PERCENTILE_DISC, RANK, RATIO_TO_REPORT, STDDEV, STDDEV_POP, STDDEV_SAMP, SUM, VAR_POP, VAR_SAMP, VARIANCE.CUBE,ROLLUP
参数:分析函数需要0到3的参数
partition by语句:根据partition by条件,逻辑上把一组结果集分为N组。关键字partition 和 group常常同时出现。分析函数独立应用于每组。
Order by 语句:在每组(分区)排序,作用于分析函数的结果集.Order by 后可以接以下语句:Asc|Desc 升序/降序Nulls First|Nulls Last 表示空值在排序中,置于开始还是最后
Windowsing-clause语句:Between … and 指定窗口范围的起点与终点Unbonded preceding 表示窗口的起点就是分区的第1行Unbonded following 表示窗口的终点就是分区的最后1行Current row 当前行Rows 表示行数范围Range 表示字段的范围
举例说明:
例子1: Calculate a running Total(累加)
SELECT ename Ename, deptno Deptno, sal Sal,SUM(sal) OVER (ORDER BY deptno, ename) Running Total, --根据deptno,name排序后的结果集累加SUM(SAL) OVER (PARTITION BY deptno ORDER BY ename) Dept Total,--先deptno分区,再ename排序后结果集,然后累加ROW_NUMBER() OVER (PARTITION BY deptno ORDER BY ENAME) SeqFROM emp --行数统计ORDER BY deptno, ename
Ename Deptno Sal Running Tota Dept Total SeqCLARK 10 2450.00 2450 2450 1KING 10 5000.00 7450 7450 2MILLER 10 1300.00 8750 8750 3ADAMS 20 1100.00 9850 1100 1FORD 20 3000.00 12850 4100 2JONES 20 2975.00 15825 7075 3SCOTT 20 3
您可能关注的文档
- AAA试述合同的语言规范-协议范本样例模版.doc
- ABC卡通教育模板.ppt
- AC800F_经验谈.doc
- ABS说课课件.ppt
- ABLOOMY 酒店行业WiFi解决方案V10.pptx
- act_QC小组宣传教材.ppt
- ACUTE COMPLICATIONS OF DIABETES MELLITUS:糖尿病急性并发症.ppt
- Adfgrg公司章程范本大全.doc
- Adobe Photoshop基础及入门应用.ppt
- After Effects神奇的粒子特效系统.doc
- 《GB/T 32151.42-2024温室气体排放核算与报告要求 第42部分:铜冶炼企业》.pdf
- GB/T 32151.42-2024温室气体排放核算与报告要求 第42部分:铜冶炼企业.pdf
- GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法.pdf
- 中国国家标准 GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法.pdf
- 《GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法》.pdf
- 《GB/T 18238.2-2024网络安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数》.pdf
- GB/T 18238.2-2024网络安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数.pdf
- 《GB/T 17215.686-2024电测量数据交换 DLMS/COSEM组件 第86部分:社区网络高速PLCISO/IEC 12139-1配置》.pdf
- GB/T 13542.4-2024电气绝缘用薄膜 第4部分:聚酯薄膜.pdf
- 《GB/T 13542.4-2024电气绝缘用薄膜 第4部分:聚酯薄膜》.pdf
文档评论(0)