Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie erhalte ich das nächste Ereignis, wenn der Offset variabel ist?

Es hört sich so an, als ob Sie die erste und letzte Transaktion basierend auf der Zeit möchten. Ich denke, das Folgende tut, was Sie wollen:

select item,
       min(transaction) keep (dense_rank first order by timestamp) as StartTx, 
       min(transaction) keep (dense_rank last order by timestamp) as EndTx,
       max(timestamp) - min(timestamp)
from transactions t
group by item;