使用UNBOUNDED FOLLOWING SQL的总和中的行号

时间:2017-01-30 12:04:36

标签: sql sql-server

我想在累计现金流量的若干期间增加贴现率。为此,我需要将每个剩余现金流量乘以贴现率,与此期间完美结合。我可以这样做,如果我知道每个时期的行号,但我不能将它与我正在使用的窗口计算结果一起使用。下面的示例显示了“剩余利息”一栏,这是我试图根据期间和利息的原始数据计算的。

select Period,RemainingInterest = SUM(PeriodInterestPaid)
OVER (PARTITION BY Name ORDER BY period ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)     
FROM  CF A



Period  Interest   Remaining Interest(Query)       Remaining Interest(Required)
1       1000       1000+2000                       1000/1.02^1+2000/1.02^2 
2       2000       2000                            2000/1.02^1

1 个答案:

答案 0 :(得分:-1)

嗨,我希望我明白嘛--- 你需要根据我从查询中得到的时间来获得价值总和,但你说你需要一个乘法

所以没有必要只按

创建一个窗口函数
select Period, SUM(PeriodInterestPaid) as RemainingInterest 

FROM  CF A

如果你想要一个多重播放,你也可以制作组,但你会使用anther exp: 请解释你究竟需要什么