クエリは以下の通りです:このFIRST_VALUEクエリで何が問題になっていますか?
with t
as (
select 450 id, null txt , 3488 id_usr from dual union all
select 449 , null , 3488 from dual union all
select 79 , 'A' , 3488 from dual union all
select 78 , 'X' , 3488 from dual
)
select id
, txt
, id_usr
, first_value(txt ignore nulls) over (partition by id_usr order by id desc) first_one
from t
とリターン:間違って何
ID TXT ID_USR FIRST_ONE
450 3488 A
449 3488 A
79 A 3488 A
78 X 3488 A
と理由:
ID TXT D_USR FIRST_ONE
450 3488
449 3488
79 A 3488 A
78 X 3488 A
これが予想されていましたか?
あなたが「無視ヌル」節は思いとどまらせるためではないことを意味しますか最小値は「first_value」ですが、それはウィンドウ処理のためのものですか? – FerranB
@FerranB:正確ではありません。 'id'でソートされた範囲から最初の非ヌル値を選択します。あなたの例で '450'を' 1'に置き換えると、 'A 'が選択されます。 – Quassnoi
私はそれをよく言い返すでしょう、今混乱しています。 – Quassnoi