커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
3주차 숙제 풀이 중인데 이 두 개 코드의 결과가 다른 이유가 무엇인지 궁금해요!
[왕초보] 엑셀보다 쉬운, SQL v3
3주차
북마크
박*경
댓글
3
추천
0
조회수
14
조회수
14
답변 완료

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

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



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


1번은 정답이고 2번은 다르게 작성할 수 있을까 해서 해 본 건데,

2번처럼 where 절 대신 SELECT에서 count(ed.done=1)이라고 작성하면 ed.done이 1인 수를 세어주는 건 아닌 건가요?


where절로 데이터 자체를 필터링한 다음에 숫자를 세는 게 아니라 데이터는 그대로 있고(?) 카운트만 출력하는 방법이 궁금해서 작성해 본 건데 결과가 다른 이유를 알고 싶어요.





작성한 코드 및 에러 메세지

SELECT e.enrolled_id, COUNT(ed. done), e.user_id  from enrolleds e 
inner join enrolleds_detail ed 
on e.enrolled_id = ed.enrolled_id 
where ed.done =1
group by e.enrolled_id 
order by COUNT(ed.done) desc


SELECT e.enrolled_id, COUNT(ed. done=1), e.user_id  from enrolleds e 
inner join enrolleds_detail ed 
on e.enrolled_id = ed.enrolled_id 
group by e.enrolled_id 
order by COUNT(ed.done) desc
취소
 공유
취소
댓글 0
댓글 알림
나의얼굴