2012-04-19 2 views
0

에서 사용자 상호 작용의 차이의 총 시간을 얻을 :나는 다음과 같은 필드 MySQL의 테이블이 어떻게 MySQL의

_id, userId, objectId, timeStamp

I 객체가 있었다 총 시간을 계산하려면 모든 사용자와 상호 작용합니다.

행과 그 다음 행 사이의 시간차를 계산하는 쿼리를 만들었지 만 지정된 사용자의 작업 순서는 고려하지 않았습니다. 즉, 쿼리는 다음과 같습니다

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

답변

0

필자는 사실 이후에이 차이를 계산하기 위해 진주 스크립트를 작성했습니다. 이것이 SQL로 실시간으로 가능할 지 모르겠습니다.

+0

SQL로만 가능할 수도 있지만 시간 상호 작용을 측정하는 방법이 명확하지 않습니다. 어쨌든, 펄 스크립트를 사용하는 것은 나쁜 생각이 아닙니다 :) – fthiella

관련 문제