Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Top 5 Shows Last 7 Days

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

Your question is Top 5 Shows Last 7 Days. 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

Netflix Customer Insights needs a ranked view of the titles watched most during the previous seven days. Write a PostgreSQL query using 2025-02-08 12:00:00 as the reference time so the result is reproducible.

Include streams that overlap the seven-day window from 2025-02-01 12:00:00 through the reference time. Calculate watch time in minutes, clip sessions to the window boundaries, treat a NULL end_time as still active at the reference time, and return the top five Netflix titles.

Requirements

  1. Join streams to shows to return the title.
  2. Aggregate clipped watch duration by show.
  3. Order by total watch minutes descending, breaking ties alphabetically by title.
  4. Return exactly the five highest-ranked shows.

Schema

streams
ColumnTypeDescription
stream_idPKINTUnique stream session identifier
user_idINTNetflix member identifier
show_idINTReferenced title identifier
start_timeTIMESTAMPTime at which the stream started
end_timeTIMESTAMPTime at which the stream ended, null for an active session
shows
ColumnTypeDescription
show_idPKINTUnique Netflix title identifier
titleVARCHAR(150)Netflix show or series title
Tablesstreamsshows
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results