0

次のフィールドを持つmysqlテーブルがあります。

_id、、、、userId_ objectId_timeStamp

オブジェクトがすべてのユーザーによって操作された合計時間を計算したいと思います。

行とその後続の行の間の時間差を計算するクエリを作成しましたが、これは特定のユーザーによるアクションの順序を考慮していません。そのクエリは次のようになります。

SELECT A._id, A.USERID, A.objectid, A.timeStamp,
    SUBSTRING(A.timeStamp, 12, 2) as hourOfDay,
    TIME_TO_SEC(TIMEDIFF(B.timeStamp, A.timeStamp)) as diff 
FROM InteractionsTBL A 
INNER JOIN InteractionsTBL B ON B._id = (A._id + 1) and B.USERID = A.USERID 
where A.timeStamp > '2012-04-18 1:00:00'
and A.timeStamp < '2012-04-18 23:59:00' 
group by hourOfDay, A.objectid 
ORDER BY A._id ASC

1日の時間とobjectIdでグループ化された、すべてのユーザーによるオブジェクトとのインタラクションの合計時間を計算するにはどうすればよいですか?

4

1 に答える 1

0

私はパールスクリプトを書いて、事後にこの差を計算しました。これがSQLでリアルタイムで可能かどうかはわかりません。

于 2012-10-30T17:46:47.793 に答える