2012-04-19 71 views
0

我有以下字段的MySQL表:如何獲得的用戶交互的差異的總時間在MySQL

_iduserIdobjectIdtimeStamp

我想計算的總時間的目的是與所有用戶進行交互。

我創建了一個查詢來計算一個行及其後續行之間的時間差,但是這並沒有考慮給定用戶的操作順序。該查詢看起來是這樣的:

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 

如何計算的總和實時交互與通過白天和OBJECTID的時段分組的所有用戶對象?

+0

如何測量給定對象的總時間交互?它是第一個入口和最後一個之間的區別嗎? – eggyal 2012-05-08 00:05:49

回答

0

我最終寫了一個珍珠腳本去事後計算這個差異。我不確定這是否可以實時使用SQL。

+0

它可能只用SQL,但不清楚如何測量時間交互。無論如何,使用perl腳本不是一個壞主意:) – fthiella 2012-10-30 17:55:29