Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- WITH START AS (SELECT user_id, TIMESTAMP, ROW_NUMBER() OVER(partition BY user_id ORDER BY TIMESTAMP DESC) AS INDEX
- FROM session_start
- ORDER BY user_id, INDEX)
- WITH END AS (SELECT user_id, TIMESTAMP, ROW_NUMBER() OVER(partition BY user_id ORDER BY TIMESTAMP DESC) AS INDEX
- FROM session_end
- ORDER BY user_id, INDEX)
- WITH sessions AS SELECT START.user_id AS user_id, START.INDEX AS INDEX, datediff(SECOND, START.TIMESTAMP, END.TIMESTAMP) AS duration
- FROM START INNER JOIN END ON START.user_id = END.user_id AND START.INDEX = END.INDEX
- SELECT user_id, avg(duration) AS avg_seconds
- FROM sessions
- GROUP BY user_id
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement