Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Speichern Sie die Zeit zwischen den Aufzeichnungen

Es wäre hilfreich, wenn Sie Beispieltabellen und Dateneinsätze vorbereiten würden.
Lesen Sie diesen Link, um zu erfahren, warum es so wichtig ist, wenn Sie Hilfe erhalten möchten:http://tkyte.blogspot.com/2005/06/how-to-ask-questions.html

Dieses Mal habe ich es für Sie erstellt, klicken Sie auf diesen Link: http://sqlfiddle.com/#!2/9719a/2

Und versuchen Sie diese Abfrage (Sie finden diese Abfrage zusammen mit Beispieldaten unter dem obigen Link):

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;