SQL 滞后函数和 where 子句
SQL Lag function and where clause
我是 SQL 的新手,我想编写一个查询,我们将行保留在同一项目的位置:
- column1_value 为 NULL AND
- 前一个非空 column1_value 是 'end' 或
- 前一个column1_value为NULL
其他的都丢弃了。
我知道我必须使用 LAG 函数,但无法完成最终查询。你能帮忙吗?
提前致谢
如果我理解正确的话:
select t.*
from (select t.*,
lag(column1) over (order by ordercol) as prev_column1
from t
) t
where column1 is null and
(prev_column1 = 'end' or prev_column1 is null)
我是 SQL 的新手,我想编写一个查询,我们将行保留在同一项目的位置:
- column1_value 为 NULL AND
- 前一个非空 column1_value 是 'end' 或
- 前一个column1_value为NULL
其他的都丢弃了。
我知道我必须使用 LAG 函数,但无法完成最终查询。你能帮忙吗?
提前致谢
如果我理解正确的话:
select t.*
from (select t.*,
lag(column1) over (order by ordercol) as prev_column1
from t
) t
where column1 is null and
(prev_column1 = 'end' or prev_column1 is null)