sql >> Database teknologi >  >> RDS >> Mysql

Sådan beregnes tidsforskel mellem nuværende og forrige række i MySQL

For at få tidsforskellen i minutter mellem den aktuelle og forrige række kan du bruge timestampdiffdatenow og forrige gang, som du kan få via underforespørgsel:

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

Opdater

Her er en anden måde at bruge en variabel til at gemme den forrige datenew værdi, der kan være hurtigere:

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


  1. Hvordan man skaber relationer mange til mange i SQLAlchemy (python, kolbe) for model Bruger til sig selv

  2. Hibernate 3.3.2GA indlæser byteadata fra PostgreSQL 9.0 forkert, og alle typetilknytninger er korrekte

  3. Now() uden tidszone

  4. Fremdriv store og små bogstaver i phpNames til kolonner