使用多个变量在SQL中编写方程

时间:2017-07-18 20:33:40

标签: sql

我尝试使用按年(2012 - 2016年)标记的数据来计算复合年增长率。数据最初位于一列中,表示总人口,另一列表示年份。我已将2012年和2016年的数据分成两个单独的列,并尝试使用SQL来计算CAGR率((2016年的数据)/(2012年的数据)^(1/4)) - 1。

这是计算复合年增长率/累积增长的正确方法吗?我试过简单地使用两列数据,但因为它们不匹配并且有空值,所以它不起作用。如果您有任何想法,请告诉我。

1 个答案:

答案 0 :(得分:0)

复合年增长率(CAGR)并不适合你想要做的事情。

通常情况下,如果您说,在基金中投资1000美元,并根据结束价值计算年度增长率,则会使用此项。

示例 - 如果您投资1000美元,并且在5年内价值5000美元:

( 5,000 / 1,000)1/5 - 1 = .37973 = 37.97%

如果我要在SQL Server中编写它,那将是:

SELECT SUM(POWER((5000.0/1000.0),(1.0/5.0))-1.0)

您可以将5000和1000替换为您要比较的特定列,或者您需要比较的一系列数据。

如果您详细说明问题,我会更新此答案。