2

我正在使用 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

由于我还是一个新手,我想知道如何实现如上所示的累计总数列。我在想应该有一些公式来计算每一行的累计总数。尽管我现在正在与这个问题作斗争,但我未能解决一些问题,一旦我想出一些东西,无论它是否有效,我都会发布代码,以展示我的努力。

任何帮助或指导将不胜感激。

4

2 回答 2

0

您可以在此答案中检查累积和的各种实现。

关于您的数据,如果您的值中有 £ 符号,则总和将返回 0。您必须执行以下操作:

REPLACE(Payment, '£', '') for it to be perceived as a summable value.

这里sqlfiddle展示了它如何适用于前面答案中提到的两种方法。

于 2013-10-22T13:56:10.933 回答
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
于 2013-10-22T13:43:36.630 回答