All problems

What Are People Actually Watching?

mediumSQLJoinsGroupBy

Content spend at StreamVerse follows attention, so the renewal meeting wants to see which titles actually earn their minutes. The session log records a show id and a duration; the human-readable titles sit in the catalogue.

watch_events — one row per watch session: one sitting in which one subscriber watched one show. subscriber_id points at a row in subscribers, show_id at a row in shows, and watch_minutes is how long that sitting lasted. The same person can appear many times.

id subscriber_id show_id watch_minutes watch_date
1 1 1 45 2023-05-01
2 1 5 60 2023-05-03
3 2 3 20 2023-05-02
4 3 2 55 2023-05-05
5 4 1 40 2023-05-06
6 4 4 70 2023-05-08
7 1 3 25 2023-05-10
8 3 5 50 2023-05-11
9 2 2 30 2023-05-12
10 5 4 65 2023-05-14

shows — one row per title in the catalogue. genre is a single label such as sci-fi or drama; release_year is the year the title came out.

id title genre release_year
1 Nebula Drift sci-fi 2021
2 The Long Kitchen drama 2019
3 Byte Size comedy 2022
4 Deep Trench documentary 2020
5 Neon Alley sci-fi 2023

Both tables already exist in the database — there is nothing to create or load.

Task: Write a query that returns two columns, title and minutes, one row per show that has been watched at least once, minutes being the total watch_minutes that show received. Most minutes first; two shows on the same total come back in alphabetical order of title. A catalogue title nobody watched does not appear.

Example output

Shape only — these titles and figures are invented:

title minutes
Cold Harvest 1320
Glass Canyon 980
Harbour Lights 640
Paper Moon 640
Slow Orbit 210

Sign in to solve this problem

Reading problems is free for everyone — solving them (Run, Submit, and tracking what you've solved) needs an account.

Sign in

Discussion

Sign in to join the discussion — reading is open to everyone.

Loading comments…