
3주차 숙제를 하다가 질문이 생겼습니다.
숙제 : Join/Subquery을 사용하여 유저별로 수강완료한 강의 수를 세어보고, 완료한 강의 수가 많은 순서대로 정렬해보기
해당 내용을 보고
SELECTe.user_id ,count(*) as cnt
from enrolleds e
inner join enrolleds_detail ed
on e.enrolled_id =ed.enrolled_id
where ed.done= 1
group by e.user_id
order by cnt DESC ;
이렇게 작성을 했는데요, 숙제 답안과 코드스니펫에는
select e.enrolled_id,
e.user_id,
count(*) as cnt
from enrolleds e
inner join enrolleds_detail ed on e.enrolled_id = ed.enrolled_id
where ed.done = 1
group by e.enrolled_id, e.user_id
order by cnt desc
이렇게 enrolled_id 필드가 더 추가 되어 있었습니다.
이 경우 제가 작성한 내용은 완전히 틀리게 되는건가요?
실행을 시켜보았을때 맨 처음 데이터가 다른데 이 차이는 어디서 오는 건가요?
왜 두 테이블을 같이 묶어서 작성하는 건지 이해가 잘되지 않았습니다..!
기존 작성

답안 작성

SELECTe.user_id ,count(*) as cnt
from enrolleds e
inner join enrolleds_detail ed
on e.enrolled_id =ed.enrolled_id
where ed.done= 1
group by e.user_id
order by cnt DESC ;
