oracle中关于生成累计和
首先创建oracle基础表如下:
现在要求分别累计各部门的工资之和:
select empno,deptno,ename,sal,hiredate,sum(sal) over(order by hiredate) as totalsal from emp order by hiredate;
效果如图:
当分析函数over()中的排序变成了deptno,后面的total就变成了部门工资的总和而不再是逐次叠加了。这个要区分一下:
select empno,deptno,ename,sal,hiredate,sum(sal) over(partition by deptno order by deptno) as total from emp order by deptno;
效果:
这在应用中是非常实用的。