
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
숙제: 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
