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

Lưu trữ thời gian giữa các bản ghi

Sẽ hữu ích nếu bạn chuẩn bị bảng mẫu và chèn dữ liệu.
Đọc liên kết này để tìm hiểu lý do tại sao điều này lại quan trọng nếu bạn muốn nhận trợ giúp:http://tkyte.blogspot.com/2005/06/how-to-ask-questions.html

Lần này tôi tạo nó cho bạn, hãy nhấp vào liên kết này: http://sqlfiddle.com/#!2/9719a/2

Và hãy thử truy vấn này (bạn sẽ tìm thấy truy vấn này cùng với dữ liệu mẫu theo liên kết trên):

select alias1.*,
       timestampdiff( second, previous_viewed_at, viewed_at ) 
         as time_between_viewings
from (
select alias.*,
       (
         select viewed_at from (
             select
             ( select count(*) from asset_usages y
                where x.asset_id = y.asset_id 
                and y.viewed_at < x.viewed_at
              ) as rn,
              x.* 
              from asset_usages x
          ) xyz
          where xyz.asset_id = alias.asset_id 
               and xyz.rn = alias.rn - 1
       ) previous_viewed_at
from (
  select
    ( select count(*) from asset_usages y
      where x.asset_id = y.asset_id 
        and y.viewed_at < x.viewed_at
    ) as rn,
    x.* 
  from asset_usages x
) alias
) alias1;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự khác biệt giữa =và:=trong MySQL

  2. Haversine và Laravel

  3. Câu lệnh Laravel 5.6 withCount and where

  4. Ví dụ tối thiểu về việc sử dụng select ... để cập nhật để cô lập các hàng

  5. Hoàn thiện hệ thống đăng ký người dùng sử dụng cơ sở dữ liệu PHP và MySQL