MySql某一列累计查询

Posted woqiaoxun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于MySql某一列累计查询的主要内容,如果未能解决你的问题,请参考以下文章

拼接属性查询方式MySql某一列属性值为拼接时的查询方式

sql对查询结果求和

mysql查询结果多列拼接查询

EXCEL 如何查询一个数据是不是在某一列中

sql查询按时间累计

SQL中如何统计查询结果中某一列重复值的个数?