【发布时间】:2020-07-03 02:30:51
【问题描述】:
我有一张这样的桌子
+----+--------+
| ID | Weight |
+----+--------+
| 1 | 8100 |
| 2 | 8235 |
| 3 | 7950 |
| 4 | 8175 |
| 5 | 8185 |
| 6 | 7985 |
| 7 | 8180 |
+----+--------+
我想获取权重的累积和,然后当累积和大于等于 20000 时重置累积和。
+----+--------+----------------+----------------+
| ID | Weight | CumWeightBySum | ResetCumWeight |
+----+--------+----------------+----------------+
| 1 | 8100 | 8100 | 8100 |
| 2 | 8235 | 16335 | 16335 |
| 3 | 7950 | 24285 | 24285 |
| 4 | 8175 | 32460 | 8175 | <- Reset Cumulative Sum
| 5 | 8185 | 40645 | 16350 |
| 6 | 7985 | 48630 | 24335 |
| 7 | 8180 | 56810 | 8180 | <- Reset Cumulative Sum
+----+--------+----------------+----------------+
【问题讨论】:
-
如果
ResetCumWeight意味着每20000 重置一次,那么它的列值不应该是8100,16335,4285,12460,645,8630,16810吗? -
@DaleK -- 一个有趣的评论 -- 经常与一些简单的东西一起使用,应该不难实现 -- 这显然在 SQL 中实现起来并不简单。但是,我的尝试低于:D
-
@Hogan 问题的难易程度与 OP 是否尝试无关。相关的是OP是否已经成功。否则我们只是一个代码编写服务。