
강사님께서는 users_id 를 기준으로 잡으라고 하셨고 아래와 같이 작성하셨습니다.
SELECT c.title , c2.week , COUNT(*) as cnt FROM courses c
inner join checkins c2 on c.course_id = c2.course_id
inner join orders o on c2.user_id = o.user_id
WHERE o.created_at >= '2020-08-01'
GROUP BY c.title , c2.week
ORDER BY c.title , c2.week ;
그런데 저는 2번째 줄에서도 course_id 를 기준으로 잡았겠다, orders 테이블에도 course_id 필드가 있겠다 해서 아래처럼 작성해봤습니다.
SELECT c.title , c2.week , COUNT(*) as cnt FROM courses c
inner join checkins c2 on c.course_id = c2.course_id
inner join orders o on c2.course_id = o.course_id
WHERE o.created_at >= '2020-08-01'
GROUP BY c.title , c2.week
ORDER BY c.title , c2.week ;
그런데 그랬더니 결과가 완전히 다르게 나오더라고요.

이게 강사님의 결과고

이게 제 결과입니다.
왜 이런 차이가 생기는 건가요?
어떤 필드를 기준으로 잡아야 하는지는 어떻게 구분하나요?
