mysql中统计累计值的方法:
方法一:窗口函数
select month
,dept
,val
,sum(val) over (PARTITION by dept order by dept,month) as leiji
from leiji;
方法二:使用变量
select month
,dept
,val
,if(@dept=a.dept,@val:=@val+a.val,@val:=a.val) as leiji
,@dept
,@dept:=a.dept
from leiji a,(select @val:=0,@dept:='')b
order by 2,1;
方法三:使用join自联
select a.month
,a.dept
,sum(b.val)
from leiji a
left join leiji b on a.dept = b.dept and a.`month` >= b.`month`
group by a.month,a.dept
order by 2,1;
