前言:
我将在具体的表里实现数据累加,我们先建个表。
DROP TABLE IF EXISTS `OrderItems`;
CREATE TABLE IF NOT EXISTS `OrderItems`(
prod_id VARCHAR(255) NOT NULL COMMENT '产品id',
quantity VARCHAR(255) NOT NULL COMMENT '商品数量'
);
INSERT `OrderItems` VALUES ('a0001',105),('a0002',100),('a0002',200),('a0013',1121),('a0003',10),('a0003',19),('a0003',5),('BNBG',10002);
一.自定义变量
set @init:=0; #先初始化变量
select prod_id,quantity,@init:=@init+quantity addquantity from OrderItems
此种做法为非标做法最好不要用
二.利用窗口函数(window子句进行累加)
select prod_id,quantity,sum(quantity) over(rows between unbounded preceding and current row ) addquantity from niuke.OrderItems
如果想要进一步了解窗口函数,可以到我的上一篇MySQL函数去学习。