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