56,677
社区成员
发帖
与我相关
我的任务
分享
-- 全部累计
SELECT DATA.*, @total:=@total+销售值 as 累计
FROM tb DATA, (SELECT @total:=0) _x
ORDER BY 商品,日期
;
-- 各商品单独累计
SELECT DATA.*, @total:=销售值+IF(@sp=商品,@total,0) as 累计,@sp:=商品
FROM tb DATA, (SELECT @total:=0, @sp:=null) _x
ORDER BY 商品,日期
;
如果要更新到表,昌把查询做为子查询与要更新的表关联
update demo表 set total_cost=(select sum(cost) from(select * from demo表) b where b.日期>demo表.日期);