我用PHP从MySQL中提取一些数据。我在查询中添加了一个ORDER by ID ASC子句,这给了我所需顺序的结果.ID列是MySQL中的递增ID,以确保唯一性。我想做的是如下:
ID Payment Accumulated Totals
1 £200 £200
2 £325 £525
5 £205 £730
7 £100 £830
由于我还是新手,我想知道如何实现累计总计列,如上所示。我在想应该有一些公式来计算每一行的累计总数。虽然我现在正在努力解决这个问题,但我没有找到解决方法,一旦我提出了一些问题就会发布代码,无论它是否只是为了展示我的努力。
非常感谢任何帮助或指导。
答案 0 :(得分:0)
select t1.id, t1.Payment, SUM(t2.Payment) as Accumulated_Totals
from table t1
inner join table t2 on t1.id >= t2.id
group by t1.id, t1.Payment
order by t1.id
答案 1 :(得分:0)
您可以在this answer中检查累积和的各种实现。
关于您的数据,如果您的值中包含£符号,则总和将返回0.您必须执行以下操作:
REPLACE(Payment, '£', '') for it to be perceived as a summable value.
这是一个 sqlfiddle ,展示了它如何适用于前面答案中提到的两种方法。