sql >> Database teknologi >  >> RDS >> Oracle

Oracle SQL:Valg af en enkelt række med den seneste dato mellem flere kolonner

Jeg tror, ​​den struktur, du ønsker, er denne:

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

Jeg formoder dog, at det er muligt for en af ​​datoerne at være NULL. Hvis ja:

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

Disse forespørgsler er sorteret efter den største af de to værdier på hver række, og derefter vælges den maksimale værdi.



  1. Oracle inaktiv forbindelse

  2. Postgres:Bedste måde at flytte data fra offentligt skema i en DB til nyt skema i en anden DB

  3. Dynamisk forespørgsel i MySQL

  4. HQL genererer ufuldstændig 'cross join' på executeUpdate