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

3주차 숙제 복습하다가 이해(?)가 안되는 부분이 있어 질문 드립니다.

잘못된건 아니고.... 왜 이런 값이 나오는지 궁금해서 튜터님의 힘을 빌리고자 합니다.


(진짜 질문!!!!!!!!)

user_id,enrolled_id 두 컬럼으로 그룹핑하는거랑

user_id로만 그룹핑하는거랑 왜 차이가 나는지 궁금합니다.


--------------------------------------------------------------------------------------------------------------------------------------------

[문제]

-- enrolled_id별 수강완료(done=1)한 강의 갯수를 세어보고, 완료한 강의 수가 많은 순서대로 정렬해보기. user_id도 같이 출력되어야 한다.


[실제 답안]

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


[저의 답안]

select e.user_id

,ed.enrolled_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

--------------------------------------------------------------------------------------------------------------------------------------------


둘의 차이는, 제 쿼리에는 group by에 enrolled_id별로 그룹핑하지 않았다는 건데요.

그렇게 쿼리 돌렸더니 아래와 같이 나왔습니다. (아래 전체화면캡쳐 참고)



스파르타 즉문즉답

cnt컬럼값의 최대수가 답안결과랑 다르게 나왔습니다.



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