| | |
| | | LAR.delete_flag = 0 |
| | | </select> |
| | | |
| | | <select id="getToDayStayTime" resultType="decimal"> |
| | | SELECT SUM(t.stay_seconds) |
| | | FROM (SELECT user_id, |
| | | page_code, |
| | | session_id, |
| | | MIN(CASE WHEN page_status = 'JOIN' THEN start_time END) AS enter_time, |
| | | MIN(CASE WHEN page_status = 'LEAVE' THEN start_time END) AS leave_time, |
| | | TIMESTAMPDIFF(SECOND, MIN(CASE WHEN page_status = 'JOIN' THEN start_time END), |
| | | MIN(CASE WHEN page_status = 'LEAVE' THEN start_time END) |
| | | ) AS stay_seconds |
| | | FROM lmk_action_record |
| | | WHERE action_type = 'PAGE' |
| | | AND page_status IN ('JOIN', 'LEAVE') |
| | | AND user_id = #{userId} |
| | | AND create_time BETWEEN #{begin} AND #{end} |
| | | GROUP BY user_id, page_code, session_id |
| | | HAVING enter_time IS NOT NULL |
| | | AND leave_time IS NOT NULL |
| | | ORDER BY user_id, session_id, enter_time) t |
| | | </select> |
| | | |
| | | </mapper> |