问题:有一列数据,需要累计显示出来
比如:id salary 查询结果:id salary sumSalary
1 10000 1 10000 10000
2 20000 2 20000 30000
3 30000 3 30000 60000
解决方案
1、使用自定义变量
①用 Set 定义变量
mysql> set @sumSalary := 0;
mysql> select id,salary,(@sumSalary := @sumSalary + salary) as sum from tbl_stu order by id asc;
②不适用 Set 定义变量,使用 join
mysql> select id,salary,(@sumSalary := @sumSalary + salary) as sum from tbl_stu a join (select @sumSalary := 0) b order by id asc;
2、使用子查询
mysql> select id,salary,(select sum(salary) from tbl_stu b where b.id <= a.id) sumSalary from tbl_stu a order by id asc;
原文:https://stackoverflow.com/questions/2563918/create-a-cumulative-sum-column-in-mysql