主要内容:
1、累加求和
2、累加变累减(挪位思想)
创建表
CREATE TABLE cum_demo
(id INT,money INT,PRIMARY KEY (id));
插入数据
insert into cum_demo(id,money)
values (1,10),(2,20),(3,30),(4,40);
id money
1 10
2 20
3 30
4 40
累加求和
方法1:
SELECT a.id,a.money,SUM(lt.money) as cum
FROM cum_demo a JOIN cum_demo lt
ON a.id >= lt.id
GROUP BY a.money
ORDER BY id
id money cum
1 10 10
2 20 30
3 30 60
4 40 100
累加 变成累减
SELECT
a.id,
a.money,
b.money,
IFNULL(a.money-b.money,a.money) as cum
from (
SELECT id,money from cum_demo
)a
LEFT JOIN(
SELECT id,money from cum_demo
)b
on a.id=b.id+1
GROUP BY a.id
id money money1 cum
1 10 10
2 20 10 10
3 30 20 10
4 40 30 10