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;