我正在尝试返回分区的最后一个值并将其应用到列的其余部分
例如,如果我有以下内容...
ID Date Status
1 20150101
1 20150201
1 20150301
1 20150401 void
2 20150101
2 20150201
2 20150301
我想返回。
ID Date Status
1 20150101 void
1 20150201 void
1 20150301 void
1 20150401 void
2 20150101
2 20150201
2 20150301
我一直在尝试下面的方法,但没有效果。
select
ID,
date,
case when status is null then last_value(status ignore nulls)
over (partition by id order by id, date) else status end as status
from table
如有任何帮助,我们将不胜感激。
最佳答案
您不需要 CASE
语句:
SELECT id, date, last_value(status) OVER (PARTITION BY id ORDER BY date) AS stat
FROM table;
关于sql - 使用 postgresql 分区中的最后一个值填充列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28956967/