Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak obliczyć różnicę czasu między bieżącym a poprzednim wierszem w MySQL?

Aby uzyskać różnicę czasu w minutach między bieżącym a poprzednim wierszem, możesz użyć timestampdiff w datenow i poprzednim razem, który można uzyskać za pomocą podzapytania:

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

Aktualizacja

Oto inny sposób użycia zmiennej do przechowywania poprzedniego datenew wartość, która może być szybsza:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wybierz grupy wierszy, z których każdy ma określoną wartość w MySQL

  2. Jaki jest odpowiednik MySQL funkcji CHOOSE() w SQL Server?

  3. Wynikiem podzapytania Mysql jest klauzula where

  4. Importowanie dużego pliku CSV do bazy danych mysql

  5. Jak zapisać dane na jednej stronie tymianku w wielu wierszach sql