昨晚朋友问我,想通过SQL实现一个效果,如下:
场景:
比如有这样一个需求,一张表格(User_Salary)包含每个人(UserName)每个月份(Month)发的薪水(Salary)
求这样一个结果集:每个人每月所发薪水及累计所得薪水和,如下表:
UserName
Month
Salary
AAA
2010/12
1000
AAA
2011/01
2000
AAA
2011/02
3000
BBB
2010/12
2000
BBB
2011/01
2500
BBB
2011/02
2500
结果
UserName
Month
Salary
Cumulation
AAA
2010/12
1000
1000
AAA
2011/01
2000
3000
AAA
2011/02
3000
6000
BBB
2010/12
2000
2000
BBB
2011/01
2500
4500
BBB
2011/02
2500
7000
当时看到这个效果时,我想到了一种解决方式,那就是游标。后来我思考了一下,这么简单的效果,使用游标,确实有些复杂了,是不是还有一些更简单的方式呢?
答案是 肯!定!有!
而且还 不!止!一!种!
后来我查阅资料,结合一下我自己的心得,重新整理了一下,以供大家参考。
先来说下这个效果:
AAA用户 2010/12 工资是 1000
累计已发工资 1000 计算公式:1000
AAA用户 2011/01 工资是
2000 累计已发工资 2000 计算公式:1000&#