MySql某一列累计查询


问题:有一列数据,需要累计显示出来

比如: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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM