从下表中,我try 创建另一列(last_k2X
),它将显示last key2 where 101 was set to 102 over time(ti
).
如果同时为多个key2
设置了X
(ts
)(在相同的key1
分区中),则新列last_k2X
将具有该分区/时间中所有key2
的key2
.
Input:个
key1 | key2 | ts | type |
---|---|---|---|
1 | A | t0 | |
1 | B | t1 | a |
1 | C | t1 | X |
1 | D | t2 | b |
1 | E | t3 | |
1 | F | t4 | c |
1 | G | t5 | X |
1 | H | t5 | |
1 | I | t6 | d |
我try 使用First_Value()和Lag()等窗口函数,但无法获得正确的结果. 我预料到的结果是:
Expected output:个
key1 | key2 | ts | type | last_k2X |
---|---|---|---|---|
1 | A | t0 | ||
1 | B | t1 | a | C |
1 | C | t1 | X | C |
1 | D | t2 | b | C |
1 | E | t3 | C | |
1 | F | t4 | c | C |
1 | G | t5 | X | G |
1 | H | t5 | G | |
1 | I | t6 | d | G |