Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started
Top 5 Shows Last 7 Days
00:00
5 left

Top 5 Shows Last 7 Days

HardSQL · PostgreSQL

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
Interviewer

Your question is Top 5 Shows Last 7 Days. Start with the requirements and the two tables in the Question tab.

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.
CodePostgreSQL
You need to log in / sign up to run or submit.Ln 1
Run your query to see results here.