Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Average Session Time by User

MediumSQL · PostgreSQL00:00
Practice interviewer
In session
5 left
00:00

Your question is Average Session Time by User. Start with the requirements and the two tables on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

Nielsen Digital Content Ratings analysts need to understand how long each user spends consuming digital content. A session is defined as the elapsed time between page_load and page_exit for a page view.

Write a PostgreSQL query that calculates the average completed session duration for every user.

Requirements

  1. Use a CTE to calculate each valid session duration in seconds.
  2. Exclude rows with a missing page_exit or with page_exit earlier than page_load.
  3. Return every user, including users with no valid completed sessions. Represent their average as NULL.
  4. Round average duration to two decimal places and order by user_id ascending.

Schema

users
ColumnTypeDescription
user_idPKINTEGERUnique user identifier
user_nameVARCHAR(100)User display name
page_sessions
ColumnTypeDescription
session_idPKINTEGERUnique page-view identifier
user_idINTEGERReferences users.user_id
page_urlTEXTPage visited
page_loadTIMESTAMPPage load timestamp
page_exitTIMESTAMPPage exit timestamp
Tablesuserspage_sessions
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results