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

Skriv oracle DB-visning baseret på forskellig kolonnetidsstempelforskel

Hvis du vil have forskellen med created_time der ikke har nogen tidskomponent, så vil du have logik som denne:

select msg_guid,
       (max(case when payload_type = 1 then created_time end) -
        (case when max(case when payload_type = 2 then created_time end) <>
                   trunc(max(case when payload_type = 2 then created_time end))
              then max(case when payload_type = 2 then created_time end) 
              when max(case when payload_type = 3 then created_time end) <>
                   trunc(max(case when payload_type = 3 then created_time end))
              then max(case when payload_type = 3 then created_time end) 
        end)
        ) as diff              
from table t
group by msg_guid;

Dette returnerer resultatet som brøkdele af en dag.




  1. Hvordan opretter man en Oracle-sekvens, der starter med maks. værdi fra en tabel?

  2. Indsæt værdier fra to tabeller i én tabel

  3. gensidig ven sql integration kompleks forespørgsel

  4. Mysql - Hvordan laver man en case-sensitiv søgning?