一列累加计算(第一列是第一列的值,第二列是第一加第二列的值,第三列是第一二三列值相加。。。依次累加)
select x.其他需要展示列名,(@sum变量 := @sum变量 + x.需要计算的列)as sumRs from
tableName x, (select @sum变量 := 0)
分组组内累加先做分组再做累加
select @rownumber := case when @groupName1 = x.gn1 and @groupName2 = x.gn2
then (@rownumber + 1) else 1 end as 序号,
case when @groupName1 = x.gn1 and @groupName2 = x.gn2,
then @sum变量 := @sum变量 else @sum变量 :=0 end as sum变量
@groupName1 = x.gn1,
@groupName2 = x.gn2,
@sum变量 := @sum变量 + x.需要计算的列)as sumRs
from
tableName x,
(select @rownumber := 0, @groupName1 = "", @groupName2 = "",@sum变量)
where 1=1
order by @groupName1,@groupName2
sql中涉及到计算的列需要处理null和空值,以免计算出错。