Advertisement
Guest User

Untitled

a guest
Jun 16th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 0.58 KB | None | 0 0
  1. WITH s AS (SELECT user_id, time_stamp, ROW_NUMBER() OVER(partition BY user_id ORDER BY time_stamp DESC) AS INDEX
  2. FROM session_start
  3. ORDER BY user_id, INDEX)
  4.  
  5. WITH e AS (SELECT user_id, time_stamp, ROW_NUMBER() OVER(partition BY user_id ORDER BY time_stamp DESC) AS INDEX
  6. FROM session_end
  7. ORDER BY user_id, INDEX)
  8.  
  9. WITH sessions AS SELECT s.user_id AS user_id, s.INDEX AS INDEX, datediff(SECOND, s.TIMESTAMP, e.TIMESTAMP) AS duration
  10. FROM START INNER JOIN END ON s.user_id = e.user_id AND s.INDEX = e.INDEX
  11.  
  12. SELECT user_id, avg(duration) AS avg_seconds
  13. FROM sessions
  14. GROUP BY user_id
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement