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


제가 짠 쿼리입니다.


SELECT e1.enrolled_id,

e1.user_id,

count(e2.done) as cnt ----------- ㄱ

FROM enrolleds e1

inner join enrolleds_detail e2 on e1.enrolled_id = e2.enrolled_id

where e2.done = 1

group by e1.enrolled_id --------------------- ㄴ

order by cnt desc;


정답 쿼리입니다.


SELECT e1.enrolled_id,

e1.user_id,

count(*) as cnt

FROM enrolleds e1

inner join enrolleds_detail e2 on e1.enrolled_id = e2.enrolled_id

where e2.done = 1

group by e1.enrolled_id, e1.user_id

order by cnt desc;


ㄱ과 ㄴ에서 차이가 발생했음에도 결과값이 동일하게 도출된 이유는 뭔가요?

문제에 'enrolled_id별'이라는 조건 때문에 그룹을 하나의 조건만 걸었습니다.

문제 맨 마지막 'user_id도 같이 출력 되어야 한다.' 라는 조건 때문에 ㄴ에 e1.user_id를 추가해야 하는건가요?





스파르타 즉문즉답




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