ORACLE连续求及分析函数.docxVIP

  • 9
  • 0
  • 约 5页
  • 2017-04-12 发布于四川
  • 举报
ORACLE连续求及分析函数

sum(...) over ...【功能】连续求和分析函数【参数】具体参示例【说明】Oracle分析函数NC示例:selectbdcode,sum(1) over(order by bdcode) aa from bd_bdinfo【示例】1.原表信息: SQL break on deptno skip 1 -- 为效果更明显,把不同部门的数据隔段显示。SQL select deptno,ename,sal 2 from emp 3 order by deptno;DEPTNO ENAME SAL---------- ---------- ---------- 10 CLARK 2450 KING 5000 MILLER 1300 20 SMITH 800 ADAMS 1100 FORD 3000 SCOTT 3000 JONES 2975 30 ALLEN 1600 BLAKE 2850 MARTIN 1250 JAMES 950 TURNER 1500 WARD 12502.先来一个简单的,注意over(...)条件的不同,使用 sum(sal) over (order by ename)... 查询员工的薪水“连续”求和,注意over (order by ename)如果没有order by 子句,求和就不是“连续”的,放在一起,体会一下不同之处:SQL select deptno,ename,sal, 2 sum(sal) over (order by ename) 连续求和, 3 sum(sal) over () 总和, -- 此处sum(sal) over () 等同于sum(sal) 4 100*round(sal/sum(sal) over (),4) 份额(%) 5 from emp 6 /DEPTNO ENAME SAL 连续求和 总和 份额(%)---------- ---------- ---------- ---------- ---------- ---------- 20 ADAMS 1100 1100 29025 3.79 30 ALLEN 1600 2700 29025 5.51 30 BLAKE 2850 5550 29025 9.82 10 CLARK 2450 8000 29025 8.44 20 FORD 3000 11000 29025 10.34 30 JAMES 950 11950 29025 3.27 20 JONES 2975 14925 29025 10.25 10 KING 5000 19925 29025 17.23 30 MARTIN 1250 21175 29025 4.31 10 MILLER 1300 22475 29025 4.48 20 SCOTT 3000 25475 29025 10.34 20 SMITH 800 26275 29025 2.76 30 TURNER 1500 27775 29025 5.17 30 WARD 1250 29025 29025 4.313.使用子分区查出各部门薪水连续的总和。注意按部门分区。注意over(...)条件的不同,sum(sal)

文档评论(0)

1亿VIP精品文档

相关文档