
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
안녕하세요 선생님들?
3주차 숙제를 하다가 궁금한게 생겨 질문드립니다.
숙제: enrolled_id별 수강완료(done=1)한 강의 갯수를 세어보고, 완료한 강의 수가 많은 순서대로 정렬해보기. user_id도 같이 출력되어야 한다.
제가 작성한 코드입니다.
SELECT e.enrolled_id,user_id ,COUNT(*) as cnt from enrolleds e
inner join enrolleds_detail ed on ed.enrolled_id =e.enrolled_id
WHERE ed.done=1
group by enrolled_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별로 갯수를 세어보라고 했으니 group by를 enrolled_id로만 해도 될 것 같은데 답안에는 그룹바이를 enrolled_id,user_id를 사용했더라구요 숙제에 제시 되기를'user_id'도 같이 출력되어야 한다라고 돼 있는데 유저 아이디의 경우 첫 줄 select문에 적어도 표시가 되니까 그룹바이에서는 꼭 안 넣어도 되는거 아닌가요? 제 설명이 이해 되셨을지 잘 모르겠습니다 ㅎㅎ;
제 화면 캡쳐 본을 보여드리면,

이것이고 , 정답은

이겁니다. 제게 cnt갯수가 더 많이 나오는데... 제 질문이 이해가 되셨을지 잘 모르겠습니다 ㅠㅠ
