sql >> Database >  >> RDS >> Mysql

Hoe het tijdsverschil tussen de huidige en vorige rij in MySQL te berekenen?

Om het tijdsverschil in minuten tussen de huidige en vorige rij te krijgen, kunt u timestampdiff . gebruiken op datenow en de vorige keer, die u kunt krijgen via subquery:

select ticketid, datenew,
    timestampdiff(minute,datenew,(select datenew from mytable t2
        where t2.ticketid < t1.ticketid order by t2.ticketid desc limit 1)) as diff
from mytable t1

Bijwerken

Hier is een andere manier om een ​​variabele te gebruiken om de vorige datenew op te slaan waarde die mogelijk sneller is:

select ticketid, datenew, timestampdiff(minute,datenew,prevdatenew)
from (
    select ticketid, datenew, @prevDateNew as prevdatenew, 
      @prevDateNew := datenew
    from mytable order by ticketid
) t1


  1. MySQL alle ouder-kind relaties

  2. hoe de functie string left te gebruiken in hql

  3. Eén externe sleutel met tabel met 2 referenties

  4. Beveiligingsbenaderingen in gegevensmodellering. Deel 4