Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SELECT ss0.USER_ID, ss0.session_id, ss0.SESSION_START, ss0.next_session,
- RANK() over(PARTITION BY ss0.USER_ID, ss0.session_id ORDER BY ss0.USER_ID, ss0.session_id, vp.TIMESTAMP2) SESSION_ACTION_ID,
- vp.*
- from(
- SELECT p2.id, p2.USER_ID, p2.page, p2.TIMESTAMP2 SESSION_START,
- ROW_NUMBER() over(ORDER BY p2.user_id,p2.TIMESTAMP2) session_id,
- LAG(p2.TIMESTAMP2, 1, p2.TIMESTAMP2+100000000) over(PARTITION BY p2.USER_ID ORDER BY p2.user_id,p2.TIMESTAMP2 desc) next_session
- FROM (
- SELECT p1.ID, p1.USER_ID, p1.PAGE, p1.TIMESTAMP2,
- LAG(p1.TIMESTAMP2, 1, p1.TIMESTAMP2-3601) OVER (PARTITION BY p1.USER_ID ORDER BY p1.TIMESTAMP2) - p1.TIMESTAMP2 session_lag
- FROM PUBLIC.VIMBOX_PAGES p1
- WHERE USER_ID in (15,12)
- ORDER BY USER_ID,TIMESTAMP2
- ) p2
- WHERE -1*(p2.session_lag)>3600
- )ss0 -- session_starters
- LEFT JOIN PUBLIC.VIMBOX_PAGES vp ON vp.USER_ID = ss0.USER_ID AND vp.TIMESTAMP2>=ss0.SESSION_START AND vp.TIMESTAMP2<ss0.next_session
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement