mysql - 将先前的值与 mysql 中的当前值相加

标签 mysql

我有两列,即zone和total_bill_amount,我想将以前的值与列的当前值相加。我已经使用了

 select  zone, total_bill_amount, sum(total_bill_amount) as Total_Bill
 from Cal_Amount  
 where cluster_number = 'clust 2' 
 group by zone,total_bill_amount;

 1. zone       total_bill_amount   Total_Bill                           

 2. ABC          45                    45                               

 3. PQR          78                    123                              

 4. XYZ          16                    139

45 = 45 45+78 = 123 123 + 16 = 139

最佳答案

您可以使用变量来做到这一点:

select zone, total_bill_amount,
       @total := @total + total_bill_amount AS Total_Bill
from Cal_Amount
where cluster_number = 'clust 2'        
cross join (select @total := 0) as var
order by zone

您必须用指定表中顺序的列替换 zone,以防 zone 不是该列。

关于mysql - 将先前的值与 mysql 中的当前值相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35199210/

相关文章:

mysql - DATEDIFF 显示过去 30、60 和 90 天的购买情况

php - 帮助将 vBulletin 3.6.4 转换为 phpBB 3

Mysql转换表,排序规则不变

php - fatal error : Uncaught Error: Call to a member function bind_result() on boolean in --- line22

python - 为什么 MySQLdb 连接上下文管理器不关闭游标?

mysql - #1064 - 您的 SQL 语法有错误。为什么?

mysql - 如何为整个子网授予对 MySQL 的远程访问权限?

mysql - MySQL 的 FULLTEXT 搜索是否为 MyISAM 和 InnoDb 返回相同的结果?

mysql - 如果我将 MySQL Connector/J (GPL) 作为我的包的一部分,我是否需要发布我的应用程序?

mysql - where/having 在这里有用吗?