【发布时间】:2018-05-23 13:22:02
【问题描述】:
我想从上一行获取数据。我使用了 LAG 功能,但没有得到预期的结果。
表:-
col1 col2 col3
ABCD 1 Y
ABCD 2 N
ABCD 3 N
EFGH 4 N
EFGH 5 Y
EFGH 6 N
XXXX 7 Y
预期结果
col1 col2 col3 col4
ABCD 1 A NULL
ABCD 2 B A
ABCD 3 C B
EFGH 4 A NULL
EFGH 5 B A
EFGH 6 E B
XXXX 7 F NULL
Col4 应该保存前一行中的数据,按 Col1 中的值分组。 请让我知道如何实现。
【问题讨论】:
-
查找
lag窗口函数的文档。 -
您当前的查询是什么样的?
-
对我来说毫无意义。 col3 是如何变化的?
-
@paparazzo。对不起。我复制了错误的数据并粘贴在这里。 Col3 与预期结果相同。只有 col4 改变。现在我从这里得到了解决方案。
-
@L0uis 在当前查询中,我没有使用 col1 分区。我只使用了 order by。
标签: sql sql-server tsql