Sql 使用teradata中下一行的值
我有以下数据的表格:Sql 使用teradata中下一行的值,sql,teradata,Sql,Teradata,我有以下数据的表格: ID NUM1 NUM2 A 1000 1001 B 1001 1004 C 1006 1007 我想要一个这样的输出: ID NUM1 NUM2 NUM3 A 1000 1001 1001 B 1001 1004 1006 C 1006 1007 1007 您能帮我实现这一点吗。Teradata中没有滞后/超前功能,但您可以重写它: select ID, NUM1, N
ID NUM1 NUM2
A 1000 1001
B 1001 1004
C 1006 1007
我想要一个这样的输出:
ID NUM1 NUM2 NUM3
A 1000 1001 1001
B 1001 1004 1006
C 1006 1007 1007
您能帮我实现这一点吗。Teradata中没有滞后/超前功能,但您可以重写它:
select ID, NUM1, NUM2
coalesce(min(NUM1) -- next row's value
over (order by ID
rows between 1 following and 1 following)
, NUM2) -- or current value when there's no next row
from tab
Teradata中没有
LAG/LEAD
函数,但您可以重写它:
select ID, NUM1, NUM2
coalesce(min(NUM1) -- next row's value
over (order by ID
rows between 1 following and 1 following)
, NUM2) -- or current value when there's no next row
from tab
如何确定正确的顺序?通过ID或Num1?如何确定正确的顺序?通过ID还是Num1?