sql >> データベース >  >> RDS >> Mysql

レコード間の時間を保存する

    サンプルテーブルとデータ挿入を準備した場合に役立ちます。
    ヘルプが必要な場合になぜそれが非常に重要であるかについては、このリンクをお読みください: http://tkyte.blogspot.com/2005/06/how-to-ask-questions.html

    今回作成したのは、次のリンクをクリックしてください: http://sqlfiddle.com/#!2/9719a/2

    そして、このクエリを試してください(上記のリンクの下にサンプルデータと一緒にこのクエリがあります):

    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. 不正な整数(2147483647)がMySQLに挿入されていますか?

    2. BaseColumnsで_COUNTを使用する方法

    3. SQLサーバースキーマとデフォルトスキーマ

    4. MySQLでは、削除後に削除された行を返すことができますか?