使用空值计算增长率

时间:2015-12-02 02:48:46

标签: mysql sql database

我有一个包含以下列的表:国家,年份(从2005年到2015年的10列,国家名称),以及每年代表GDP的数字百分比值。

我正在尝试计算从2005年到2015年的增长率,但我的数据来自联合国网站,因此不完整 - 它具有空值。我想知道如何计算SQL中的增长率,同时考虑空值?

1 个答案:

答案 0 :(得分:0)

如果我错过了这个问题,我仍然在学习。您希望将前一年和后一年的平均值运行为空值以获取内插值以填充它,例如以下

UPDATE [table1]
SET [GDP_YEAR_N] = 
CASE WHEN [GDP_YEAR_N-1] IS NOT NULL AND [GDP_YEAR_N+1] IS NOT NULL
THEN AVG(SELECT GDP_YEAR_N-1,GDP_YEAR_N+1 FROM [TABLE1] T WHERE T.country =
O.Country ) END 
FROM [Table1] O
WHERE [GDP_YEAR_N] IS NULL

否则,您可以忽略数据中的空值。如果您正在绘制数据图表,则可以根据前者和后者的差异推断出一个值。如果有人有更聪明的想法,请告诉我,我也很感兴趣