커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
3주차 숙제에서 group by 질문
[왕초보] 엑셀보다 쉬운, SQL v3
3주차
북마크
조*주
댓글
3
추천
0
조회수
11
조회수
11
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


안녕하세요 선생님들?

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갯수가 더 많이 나오는데... 제 질문이 이해가 되셨을지 잘 모르겠습니다 ㅠㅠ












취소
 공유
취소
댓글 0
댓글 알림
나의얼굴