我在Emp
下面有一个包含三列(empno, ename, salary
)的表。
empno ename salary
---------------------
101 Ram 2000
102 Kumar 1000
103 Mani 3000
我需要通过在上表中显示Cumulative_Salary
来在下面的输出。
Empno Ename Cumulative_Salary
-------------------------------
101 Ram 2000
102 Kumar 3000
103 Mani 6000
答案 0 :(得分:0)
您正在寻找SUM OVER
。
select
empno, ename, salary,
sum(salary) over(order by empno) as cumulative_salary
from emp
order by empno;
通过在ORDER BY empno
子句中应用OVER
,我们可以隐式应用RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
,但是如果您愿意的话,您当然可以使其明确。
文档:cronguru
答案 1 :(得分:0)
select
empno
, ename
, sum(salary) as cumulative_salary
from emp
group by
empno, ename
order by empno;