블로그를 이전 중이라 완료되기 전까지는 벨로그에 작성할 계획입니다.
이후 모든 글은 https://weekwith.me 에 작성 예정이니 다른 글이 궁금하시다면 해당 링크를 통해 방문해주세요.본 글은 [ LeetCode ] 2356. Number of Unique Subjects Taught by Each Teacher를 풀고 작성한 글입니다.
Table: Teacher
+-------------+------+
| Column Name | Type |
+-------------+------+
| teacher_id | int |
| subject_id | int |
| dept_id | int |
+-------------+------+
(subject_id, dept_id) is the primary key for this table.
Each row in this table indicates that the teacher with teacher_id teaches the subject subject_id in the department dept_id.
Write an SQL query to report the number of unique subjects each teacher teaches in the university.
Return the result table in any order.
GROUP BY
구를 통해 teacher_id
필드를 기준으로 데이터들을 묶은 뒤 COUNT
집계 함수 내에 DISTINCT
키워드를 활용해 중복이 제거된 subject_id
필드의 개수를 세면 된다.
접근법을 토대로 문제를 해결하면 아래와 같다.
SELECT
teacher_id,
COUNT(DISTINCT subject_id) AS cnt
FROM Teacher
GROUP BY teacher_id;