1. 程式人生 > >7.06 生成累計和

7.06 生成累計和

war select sele rom 工資 問題 解決方案 可讀性 bsp

問題:計算某個列中所有值的累計和。
解決方案:下面給出了一種解決方案,它展示 了如何計算所有職員工資的累計和。為了增加可讀性,其結果是按SAL排序的,這樣就能夠很容易地觀察到累計和變化的過程。

select e.ename,e.sal,
(select sum(d.sal) from emp d
where d.empno<=e.empno) as running_total
from emp e
order by 3;

+--------+------+---------------+
| ename | sal | running_total |
+--------+------+---------------+
| ALLEN | 1600 | 1600 |
| WARD | 1250 | 2850 |
| MARTIN | 1250 | 4100 |
| BLAKE | 2850 | 6950 |
| CLARK | 2450 | 9400 |
| KING | 5000 | 14400 |
| TURNER | 1500 | 15900 |
| JAMES | 950 | 16850 |
| MILLER | 1300 | 18150 |
+--------+------+---------------+

7.06 生成累計和