Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách tính chênh lệch thời gian giữa hàng hiện tại và hàng trước đó trong MySQL

Để nhận được chênh lệch thời gian tính bằng phút giữa hàng hiện tại và hàng trước đó, bạn có thể sử dụng timestampdiff vào datenow và lần trước mà bạn có thể nhận được thông qua truy vấn con:

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

Cập nhật

Đây là một cách khác sử dụng biến để lưu trữ datenew trước đó giá trị có thể nhanh hơn:

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. Có cách nào để lưu vào bộ nhớ cache của một Chế độ xem để các truy vấn đối với nó được nhanh chóng không?

  2. php hiển thị màu đỏ, màu hổ phách hoặc màu xanh lá cây tùy thuộc vào số ngày còn lại để đi?

  3. MYSQL chọn ngày sinh dựa trên độ tuổi

  4. Hết thời gian chờ truy vấn toàn cầu trong MySQL 5.6

  5. Lỗi MySQL 1118 (Kích thước hàng quá lớn) khi khôi phục cơ sở dữ liệu Django-mailer