oracle中over函数的使用示例

oracle中over函数的使用示例

ID:1674677

大小:35.00 KB

页数:6页

时间:2017-11-13

oracle中over函数的使用示例_第1页
oracle中over函数的使用示例_第2页
oracle中over函数的使用示例_第3页
oracle中over函数的使用示例_第4页
oracle中over函数的使用示例_第5页
资源描述:

《oracle中over函数的使用示例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Oracle中over函数的使用示例ql*plus目的:以oracle自带的scott模式为测试环境,主要通过试验体会分析函数的用法。类似sum(...)over...的使用1.原表信息:SQL>breakondeptnoskip1  --为效果更明显,把不同部门的数据隔段显示。SQL>selectdeptno,ename,sal  2  fromemp  3  orderbydeptno;  DEPTNOENAME        SAL------------------------------ 

2、     10CLARK        2450        KING        5000        MILLER        1300      20SMITH        800        ADAMS        1100        FORD        3000        SCOTT        3000        JONES        2975      30ALLEN        1600        BLAKE        2850     

3、   MARTIN        1250        JAMES        950        TURNER        1500        WARD        1250已选择14行。2.先来一个简单的,注意over(...)条件的不同,使用sum(sal)over(orderbyename)...查询员工的薪水“连续”求和,注意over(order  byename)如果没有orderby子句,求和就不是“连续”的,放在一起,体会一下不同之处:SQL>breakon''--取消

4、数据分段显示SQL>selectdeptno,ename,sal,  2  sum(sal)over(orderbyename)连续求和,  3  sum(sal)over()总和,            --此处sum(sal)over()等同于sum(sal)  4  100*round(sal/sum(sal)over(),4)"份额(%)"  5  fromemp  6  /  DEPTNOENAME        SAL  连续求和    总和  份额(%)----------------

5、--------------------------------------------      20ADAMS        1100    1100    29025    3.79      30ALLEN        1600    2700    29025    5.51      30BLAKE        2850    5550    29025    9.82      10CLARK        2450    8000    29025    8.44      20

6、FORD        3000    11000    29025    10.34      30JAMES        950    11950    29025    3.27      20JONES        2975    14925    29025    10.25      10KING        5000    19925    29025    17.23      30MARTIN        1250    21175    29025    4.31    

7、  10MILLER        1300    22475    29025    4.48      20SCOTT        3000    25475    29025    10.34      20SMITH        800    26275    29025    2.76      30TURNER        1500    27775    29025    5.17      30WARD        1250    29025    29025    4.31

8、已选择14行。3.使用子分区查出各部门薪水连续的总和。注意按部门分区。注意over(...)条件的不同,sum(sal)over(partitionbydeptnoorderbyename)按部门“连续”求总和sum(sal)over(partitionbydeptno)按部门求总和sum(sal)over(orderbydeptno,ename)不按部门“连续”求总和sum(sal)over()不按部门,求所有员工总和,效果等同于sum(sal)。SQL>break

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。