それがどのように機能するかを理解したと思っていましたが、今は混乱しています。
私はデータセットを持っています:
id date value
1 20080101 null
2 20090101 34
3 20100101 null
2008 年 1 月、2009 年、2010 年 1 月の 3 つのレコード。ここで、最新の非 null 値で新しい列「value2」を作成したいと考えています。基本的に、3 つの 34 を含む value2 列が必要です。私は書きます:
select id, date, value, first_value(value) ignore nulls over (order by date desc) as value2 from table
しかし、私は得ました:
id date value value2
1 20080101 null 34
2 20090101 34 34
3 20100101 null null
最後の値はまだ 34 ではなく null です。何が問題なのですか?