All problems

Old Shows, New Eyes

mediumSQLJoinsFilteringGroupBy

Licensing renewals at StreamVerse are due on the older half of the catalogue, and the argument for paying again is watch time. Content wants the pre-2020 titles with the minutes they actually pulled, so nobody renews a title on sentiment.

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 three columns — title, release_year and minutes — one row per title released before 2020 that has been watched at least once, minutes being its total watch_minutes. Most minutes first; two titles on the same total come back in alphabetical order of title.

Example output

If one back-catalogue title qualified, the answer would look like this — invented title, year and total:

title release_year minutes
Slow Orbit 2018 640

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…