日期:2014-05-17  浏览次数:20454 次

求一条统计数据的SQL语句
有数据表:
日期                 进账     出账     
2013-12-5         2      0     
2013-12-5         5      1  
2013-12-6         3      1
2013-12-6         4      0
2013-12-6         3      2
...
...

要得出这样的结果:
日期                 进账     出账     余额 
2013-12-5         7      1       6   
2013-12-6         10     3       13
...

即要按日期统计每天的进出账为多少?并得出每天当时的余额。

------解决方案--------------------
SQL语句

select b.rq,b.jz,b.cz,SUM(a.total) as total from
(
    select rq,jz,cz,jz-cz as total from
    (
       select [日期] as rq,SUM([进账]) as jz,SUM([出账]) as cz 
       from tb group by [日期]
    ) tt
) a 
cross join
(
    select rq,jz,cz,jz-cz as total from
       (
          select [日期] as rq,SUM([进账]) as jz,SUM([出账]) as cz 
          from tb group by [日期]
       ) tt
) b where b.rq>=a.rq
group by b.rq,b.jz,b.cz


查询结果
<img src="http://img.bbs.csdn.net/upload/201312/20/1387529081_361778.jpg" alt="">