使用 teradata 中下一行的值

Use the value of next row in teradata

我有这个 table 和以下数据:

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 中没有 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