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

Oracle SQL:複数の列の間で最新の日付を持つ単一の行を選択する

    あなたが望む構造はこれだと思います:

    select id
    from (SELECT ID
          FROM EXAMPLE_TABLE
          order by GREATEST(CREATE_DATE, UPDATE_DATE) desc
         )
    where rownum = 1
    

    ただし、日付の1つがNULLになる可能性があると思います。もしそうなら:

    select id
    from (SELECT ID
          FROM EXAMPLE_TABLE
          order by coalesce(GREATEST(CREATE_DATE, UPDATE_DATE), CREATE_DATE) desc
         )
    where rownum = 1
    

    これらのクエリは、各行の2つの値のうち大きい方の順に並べてから、最大値を選択します。



    1. MysqlのVagrantポートフォワーディング

    2. TRUE/FALSEマーキングを使用したPostgresqlでのピボット

    3. ユニオンクエリを使用したドロップダウン

    4. SQL Server 2016:データベースを作成する