【发布时间】:2013-01-19 10:04:04
【问题描述】:
我有一个foreach,可以打印数据库中的所有数据。数据如下所示:
data_sum
63
78
25
35
对于循环中的每一行,我想添加总和,如下所示:
data_sum
63
141
166
201
我已尝试使用此 SQL 查询:
SET @csum := 63;
SELECT id_account, data_sum, is_expense, (@csum := @csum + data_sum) AS cumulative_sum FROM economy_events
WHERE id_account = '4'
AND is_expense = '1'
但我只有在试用时才收到SQLSTATE[HY000]: General error。这是我第一次尝试使用这种方法。我做错了什么?
提前致谢。
【问题讨论】:
-
你在用什么RDBMS?
SQL Server?MySQL?Oracle?DB2?等等。 -
首先,您必须定义一些处理数据的顺序。
-
JW:我正在使用 MySQL。哈姆雷特:你的意思是使用简单的
ORDER BY data_sum DESC或类似的东西?
标签: mysql sql cumulative-sum