在无界SQL上的聚合和中使用行号

在无界SQL上的聚合和中使用行号,sql,sql-server,Sql,Sql Server,我想在对多个时期的现金流求和时添加贴现率。要做到这一点,我需要将剩余的现金流乘以贴现率,以这段时间结束。我可以这样做,如果我知道每个周期的行号,但我不能将它与我正在使用的窗口计算器一起使用。下面的示例显示了“剩余利息”列,这是我试图根据期间和利息的原始数据计算的 select Period,RemainingInterest = SUM(PeriodInterestPaid) OVER (PARTITION BY Name ORDER BY period ROWS BETWEEN CURRENT

我想在对多个时期的现金流求和时添加贴现率。要做到这一点,我需要将剩余的现金流乘以贴现率,以这段时间结束。我可以这样做,如果我知道每个周期的行号,但我不能将它与我正在使用的窗口计算器一起使用。下面的示例显示了“剩余利息”列,这是我试图根据期间和利息的原始数据计算的

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

嗨,我希望我能理解--- 你需要根据我在查询中理解的时间段得到值的总和,但是你说你需要一个乘法

因此,不需要只按组创建窗口函数

select Period, SUM(PeriodInterestPaid) as RemainingInterest 

FROM  CF A
如果你想要一个多人游戏,你也可以分组,但你会使用另一个经验:
请解释一下你到底需要什么need@Serg-谢谢,更改链接SQL上的排序顺序已经成功了。