Oracle
 sql >> база данни >  >> RDS >> Oracle

Напишете изглед на Oracle DB на базата на различна разлика във времето на колоната

Ако искате разликата с created_time който няма времеви компонент, тогава искате логика като тази:

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;

Това връща резултата като части от деня.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle:Изтриване на дубликати в група от таблица с присъединяване

  2. Как да преброите броя на появяванията на символ в стойност на Oracle varchar?

  3. Групирайте по стойности, които са в последователност

  4. Блок за инжектиране на Oracle SQL с DBMS_ASSERT

  5. Как да създадете обект oracle.sql.ARRAY?