1

それがどのように機能するかを理解したと思っていましたが、今は混乱しています。

私はデータセットを持っています:

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 です。何が問題なのですか?

4

3 に答える 3