首页 > 解决方案 > 我想在表中添加新行,但我想使用列名 (SQL) 进行数学运算

问题描述

我有一张这样的桌子

2001年 2002年 2003年
125.000 313.000 515.00

我想将年度百分比增长添加为行

标签: sql

解决方案


您应该将表结构更改为:

year | val
2001 | 125.000
2002 | 313.000
2003 | 515.00

然后使用LAG解析函数:

SELECT
    year,
    val,
    100.0*(val - LAG(val) OVER (ORDER BY year)) / LAG(val) OVER (ORDER BY YEAR) AS pct_growth
FROM yourTable
ORDER BY year;

推荐阅读