使用重置的SQL Sever计算累积速率

时间:2018-09-15 21:34:26

标签: sql sql-server

我创建了一个具有所需公式的excel工作簿,但现在需要在sql中进行同样的操作。

我有三栏;分析,损失,费率。

在excel中,我还有另外两列;等级-每次分析均以1开头的序号。 累积比率-比率的运行总和,在等级= 1时重置

有人可以解释一下如何在sql server中完成吗?

在此先感谢您,非常抱歉,如果之前曾有人问过我,我一直在努力寻找类似问题的答案。

亚历克斯

1 个答案:

答案 0 :(得分:0)

您可以使用窗口函数来计算累计和:

select t.*,
       sum(t.rate) over (partition by t.analysis order by t.rank) as cumulative_rate
from t;

从您的问题尚不清楚rank是如何计算的。在SQL中,表表示无序集。因此,您需要一列来指定操作的顺序。