在无界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上的排序顺序已经成功了。