여러 세션 이벤트에 대한 레코드가있는 테이블이 있습니다. 각 행은 세션의 이벤트이고 세션은 동일한 이벤트의 배수가 될 수 있습니다. 이는 기본적으로 게임 세션이며 각 이벤트는 라운드 스타트 또는 라운드 엔드입니다. 내 데이터는 다음과 같습니다.하위 쿼리 where 절의 열 참조
Session_id | Event_type | Event_Time
1 | round_start | 12:01:00
1 | round_end | 12:02:00
1 | round_start| 12:05:00
1 | round_end | 12:7:00
2 | round_start | 14:11:00
2 | round_end | 14:12:00
3 | round_start| 15:09:00
3 | round_end | 15:13:00
평균 순환 기간을 찾으려고합니다. 다음 SQL을 시도했습니다
select
RS.session_id,
RS.Event_Time as StartTime,
RE.EndTime,
TIMESTAMPDIFF(MINUTE,RE.EndTime,RS.Event_Time) as duration
from amp_event_mamlaka as RS
left join
(
select session_id, min(event_time) as EndTimd from amp_event_mamlaka
where Event_Type = "Round End" and session_id = RS.session_id and event_time>RS.Event_Time
) RE
on RE.session_id = RS.session_id
문제는 내가 조인 된 테이블에서 RS.session_id 및 RS.event_time을 참조 할 수 없다는 것입니다.
저는 MySQL을 사용하고 있습니다. 이 작업을 수행하는 방법에 대한 제안 사항은 무엇입니까?
감사
는 것, 그리고 뚜렷한 상처없는 것 중 하나는 분 SESSION_ID와 관련된 세트 내에서 중복 될 수 있다는 가능성이 있기 때문이다. – markg