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

シナリオとステップは最終変更の問題を取得します

    うーん。 。 。次を使用して、44以外の最後の日付の後の最も早い44の日付を取得できます。

    select min(start_date)
    from t
    where t.start_date > (select max(t2.start_date)
                          from t t2
                          where t2.step_key <> 44
                         );
    

    これがあなたが求めているものだと思います。

    ウィンドウ関数も使用できます。最新の行が「44」であると仮定します:

    select t.*
    from (select t.*,
                 row_number() over (order by start_date) as seqnum,
                 row_number() over (partition by step_key order by start_date) as seqnum_sk
          from t
         ) t
    where step_key = 44 and seqnum = seqnum_sk
    order by start_date
    fetch first 1 row only;
    


    1. MySQL-行を削除する代わりに、行の値を削除します

    2. mysqlの2つの日付の間の土曜日と日曜日の総数を計算する方法

    3. C++を使用してmysqlに接続します

    4. 外部キーと主キーのPostgresとインデックス