leetcode : 2356. Number of Unique Subjects Taught by Each Teacher
다이어그램
erDiagram
Teacher {
teacher_id int PK
subject_id int
dept_id int
}
문제 풀이
MySQL 1
SELECT teacher_id, COUNT(DISTINCT subject_id) as cnt
FROM teacher
GROUP BY teacher_id
- GRUOP BY + COUNT DISTINCT
MySQL 2
SELECT
TEACHER_ID as teacher_id,
COUNT(DISTINCT SUBJECT_ID) as cnt
FROM TEACHER
GROUP BY TEACHER_ID
- GRUOP BY + COUNT DISTINCT
- 대소문자좀 구별하지마라 좀!!
Pandas
def count_unique_subjects(teacher: pd.DataFrame) -> pd.DataFrame:
grouped = teacher.groupby('teacher_id').agg(
cnt = ('subject_id','nunique')
).reset_index()
return grouped
Pandas
def count_unique_subjects(teacher: pd.DataFrame) -> pd.DataFrame:
grouped = teacher.groupby('teacher_id').nunique().reset_index().rename(columns={'subject_id':'cnt'})
return grouped[['teacher_id','cnt']]
- 한 컬럼에만 집계를 해주는거라 agg 대신 nunique를 사용해서 풀이.
코멘트
댓글