我有一张表格,列出了不同活动的持续时间。看起来像
id duration
1 15
2 30
3 30
4 45
5 30
...ETC
我想总结这些活动
for (lastActivity=1 to 5)
SELECT id, SUM(duration) FROM durations
WHERE id<=lastActivity
产生类似的输出
id endtime
1 15
2 45
3 75
4 120
5 150
其中每一行将活动的持续时间相加,直到其在列表中的位置。
这似乎是一项容易的任务(并且可能是),但我无法弄清楚 sql 应该如何产生这样的输出。我曾尝试将 GROUP BY 与 OVER 子句一起使用,但也许有更简单的方法可以做到这一点。