[LeetCode][MySQL] 1050. Actors and Directors Who Cooperated At Least Three Times
Easy 🔗1050. Actors and Directors Who Cooperated At Least Three Times
📝문제 요약
Table: ActorDirector
+-------------+---------+
| Column Name | Type |
+-------------+---------+
| actor_id | int |
| director_id | int |
| timestamp | int |
+-------------+---------+
timestamp is the primary key (column with unique values) for this table.
Write a solution to find all the pairs (actor_id, director_id)
where the actor has cooperated with the director at least three times.
Return the result table in any order.
The result format is in the following example.
Example 1:
Input:
ActorDirector table:
+-------------+-------------+-------------+
| actor_id | director_id | timestamp |
+-------------+-------------+-------------+
| 1 | 1 | 0 |
| 1 | 1 | 1 |
| 1 | 1 | 2 |
| 1 | 2 | 3 |
| 1 | 2 | 4 |
| 2 | 1 | 5 |
| 2 | 1 | 6 |
+-------------+-------------+-------------+
Output:
+-------------+-------------+
| actor_id | director_id |
+-------------+-------------+
| 1 | 1 |
+-------------+-------------+
Explanation: The only pair is (1, 1) where they cooperated exactly 3 times.
✏️문제 풀이
SELECT
SELECT actor_id, director_id
- 배우가 감독과 최소 세 번 협력한 모든 쌍
actor_id
: 협업한 배우 아이디director_id
: 협업한 감독 아이디
FROM
FROM ActorDirector
ActorDirector
테이블 조회
GROUP BY
GROUP BY actor_id, director_id
actor_id
와director_id
각각의 조합으로 그룹화
HAVING
HAVING COUNT(*) >= 3
- 그룹별로 계산된
COUNT(*)
값을 기준으로 3개 이상인 경우에만 필터링
💯제출 코드
SELECT actor_id, director_id
FROM ActorDirector
GROUP BY actor_id, director_id
HAVING COUNT(*) >= 3
댓글남기기