cswork / libraryOpen practice workspace

Coding questions · Amazon

Identify Frequent Actor-Director Collaborations in Film Database

This question evaluates competency in relational data manipulation and aggregation, specifically the ability to identify repeated actor–director relationships using SQL or Python data tools.

FILMOGRAPHY

+-------+---------+------------+
| actor | dir     | date       |
+-------+---------+------------+
| Tom   | Nolan   | 2020-01-01 |
| Tom   | Nolan   | 2021-01-01 |
| Tom   | Nolan   | 2022-01-01 |
| Amy   | Nolan   | 2021-07-01 |
+-------+---------+------------+
Scenario

Film industry database: find frequent actor–director collaborations

Question

Write an SQL query to list each actor–director pair that has worked together at least three times, returning actor, dir, and collaboration_count.

Hints

GROUP BY actor, dir; use HAVING COUNT(*) >= 3.

Frequent actor–director collaborations

Given a FILMOGRAPHY table of films with their actor, director, and release date, write an SQL query to list each actor–director pair that has worked together at least three times. Return the columns actor, dir, and collaboration_count (the number of films they have worked on together).

Table FILMOGRAPHY

columntypeconstraints
actorVARCHAR(50)NOT NULL
dirVARCHAR(50)NOT NULL
dateDATENOT NULL

Sample data:

actordatedir
Tom2020-01-01Nolan
Tom2021-01-01Nolan
Tom2022-01-01Nolan
Amy2021-07-01Nolan

Expected output

One row per actor–director pair that has collaborated on three or more films, including the count of collaborations.

actorcollaboration_countdir
Tom3Nolan

Hints

  1. GROUP BY actor, dir
  2. Use HAVING COUNT(*) >= 3