用postgresql中分区的最后一个值填充列
fill column with last value from partition in postgresql
我正在尝试 return 分区的最后一个值并将其应用于列的其余部分
例如,如果我有以下...
ID Date Status
1 20150101
1 20150201
1 20150301
1 20150401 void
2 20150101
2 20150201
2 20150301
我要return这个
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;
我正在尝试 return 分区的最后一个值并将其应用于列的其余部分
例如,如果我有以下...
ID Date Status
1 20150101
1 20150201
1 20150301
1 20150401 void
2 20150101
2 20150201
2 20150301
我要return这个
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;