sql >> Databáze >  >> RDS >> Oracle

Oracle SQL:Výběr jednoho řádku s nejnovějším datem mezi více sloupci

Myslím, že struktura, kterou chcete, je tato:

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

Předpokládám však, že je možné, aby jedno z dat bylo NULL. Pokud ano:

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

Tyto dotazy se seřadí podle větší ze dvou hodnot na každém řádku a poté vyberou maximální hodnotu.



  1. Postgresql zaokrouhlí časové razítko na nejbližších 30 sekund

  2. Existuje důvod, proč MySQL nepodporuje FULL OUTER JOINS?

  3. JSON_ARRAYAGG() – Vytvořte pole JSON z řádků dotazu v MySQL

  4. MySQL Vyberte KDE v daném pořadí