使用Mysql和PHP在表中的总计

时间:2013-10-22 13:38:39

标签: php mysql sql

我用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

由于我还是新手,我想知道如何实现累计总计列,如上所示。我在想应该有一些公式来计算每一行的累计总数。虽然我现在正在努力解决这个问题,但我没有找到解决方法,一旦我提出了一些问题就会发布代码,无论它是否只是为了展示我的努力。

非常感谢任何帮助或指导。

2 个答案:

答案 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 ,展示了它如何适用于前面答案中提到的两种方法。