
홈페이지에 다수의 영상을 올려두고 영상시청 시간을 합산하여 선물주는 이벤트를 구상중입니다.
영상아이디 a1 영상보기 들어가면 start_time 기록하고,
시청종료 버튼 누르면 end_time 업데이트 되도록 하였습니다.
문제는,
영상 아이디 a1 영상을 보고있는 시간에
영상 아이디 a2영상을 새창으로 열어서 보는 경우,
같은 시간대에 2개 이상의 영상 시청을 어떻게 체크하느냐입니다.
답변 1개 / 댓글 3개
채택된 답변
+20 포인트
2021-04-23 (금) 18:25:32
같은 시간대에 2개 이상의 영상 시청을 어떻게 체크하려는 것이
이것을 막고자하는 건가요?
답변에 대한 댓글 3개
2021-04-23 (금) 18:39:57
self join해서 겹치는 재생 시간을 합하고
이를 전체에서 빼면 되겠네요.
select * from log a inner join log b on a.s_time <b.end_time and a.end_time > b.s_time
where a.id<>b.id
이를 전체에서 빼면 되겠네요.
select * from log a inner join log b on a.s_time <b.end_time and a.end_time > b.s_time
where a.id<>b.id
2021-04-24 (토) 14:49:07
시청시작순으로 데이터를 정렬시킨후 체크할 레코드의 시청시작시간이
바로 앞 레코드의 시청종료시간보다 앞시간이라면 중복 시청이니까
합산에서 빼면 되겠군요.
엑스엠엘님의 놀라운 지식에 엄지척!!!
바로 앞 레코드의 시청종료시간보다 앞시간이라면 중복 시청이니까
합산에서 빼면 되겠군요.
엑스엠엘님의 놀라운 지식에 엄지척!!!
답변을 작성하려면 로그인이 필요합니다.