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

如何计算按一天中的时间和 objectId 分组的所有用户与对象交互的总时间?

4

1 回答 1

0

我最终写了一个珍珠脚本,在事后计算这个差异。我不确定这是否可以通过 SQL 实时实现。

于 2012-10-30T17:46:47.793 回答