sql >> データベース >  >> RDS >> Oracle

Oracle SQL、欠落している値を最も近い欠落していない値で埋めます

    最初のバージョンは、少し調整するだけで機能するはずです:

    select A.*, 
           coalesce(V1, lag(V1 ignore nulls)  over (order by data)) V2
    from Tab1 A;
    

    微調整は、partition by v1することです。 lag()から 。 coalesce() 単純な表現が好きです。

    同じ調整が2番目のバージョンでも機能するはずです。

    lag()が原因で、お使いのバージョンが機能しません 値は同じパーティションからのものである必要があります(またはnullである必要があります )。 partition by v1がある場合 、実際にはv1 現在の行と同じ値です。



    1. JPAとHibernateが非レイジーコレクションエラーを初期化する

    2. Oracle VARCHAR列の数値比較はどのように機能しますか?

    3. COUNT(*)でフィルタリングしますか?

    4. PL / SQLプロシージャ内で、クエリまたはリフレクタをHTMLテーブルでラップします。