0

我有gridview一个属性amount。我想为每一行做一个运行总计(或小计/汇总) 。amount例如:

   amount  rollup
1.   2       2
2.   3       5
3.   2       7
4.   1       8

有没有办法做到这一点?你能指出我正确的方向吗?我不知道该怎么做,也没有找到任何相关信息,抱歉。

Ziki:我$dataProvider是一个SqlDataProvider所以我不能使用这个解决方案。你能帮我弄清楚如何将其调整为SqlDataProvider?

我指的是像$data["amount"]. 好像我没有keyor index,可以吗?我越来越:

未定义的偏移量:0(或 1 或...)

如果有SQL解决方案也可以

4

1 回答 1

0

我为此找到了一个简单的 SQL 解决方案

sum(amount) over (order by ... rows unbounded preceding)

这里最重要的细节是:rows unbounded preceding

如果你想要这样的总和(所以在下面滑动一行):

   amount  rollup
1.   2       
2.   3       2
3.   2       5
4.   1       7

可以通过以下方式完成window function

sum(amount) over (order by ... ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING)

感谢@Hart CO

于 2019-06-28T05:54:29.357 回答