sql将一个值赋给一个变量,但从另一行获取该值

eyh26e7m  于 2021-08-09  发布在  Java
关注(0)|答案(2)|浏览(320)

我希望上级值等于下一年的值,比如:

Year    Value    Superior_Val
0       0.1      0.3
1       0.3      0.7
2       0.7      1.6
3       1.6

我怎样才能让它像这样工作(这是错误的,但只是为了理解我想要实现的目标):

Superior_Val=Value where Year=Year+1
u0sqgete

u0sqgete1#

你可以用 lead() :

select t.*, lead(value) over (order by year) as next_value
from t;
yyyllmsg

yyyllmsg2#

很多方法可以做到这一点,如果一年是可靠的,那么一个自我加入

select a.year,a.value, b.value
from  t a
left join t b on b.year = a.year + 1

相关问题