Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- WITH s AS (SELECT user_id, time_stamp, ROW_NUMBER() OVER(partition BY user_id ORDER BY time_stamp DESC) AS INDEX
- FROM session_start
- ORDER BY user_id, INDEX)
- WITH e AS (SELECT user_id, time_stamp, ROW_NUMBER() OVER(partition BY user_id ORDER BY time_stamp DESC) AS INDEX
- FROM session_end
- ORDER BY user_id, INDEX)
- WITH sessions AS SELECT s.user_id AS user_id, s.INDEX AS INDEX, datediff(SECOND, s.TIMESTAMP, e.TIMESTAMP) AS duration
- FROM START INNER JOIN END ON s.user_id = e.user_id AND s.INDEX = e.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