主要内容:
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
Logo

更多推荐