작성
·
267
1
안녕하세요.
강사님의 강의를 잘 듣고 있는 와중, 일별 잔존율 SQL문에서 궁금증이 생겼습니다.
SQL 로직을 보면 사용자 테이블과 세션 테이블을 left join 한 다음,
사용자 아이디, 생성일자, 방문일자로 그룹화하고,
다시 생성일자로 그룹화 한 후 생성일 기준 고유 사용자 수와 D+N 별 고유 사용자 수를 구하는 것으로 이해했습니다.
다만 세 컬럼으로 그룹화를 하게 되면,
아이디 생성일자 방문일자
U0179281 2016-10-24 2016-10-25
U0179281 2016-10-24 2016-10-26
와 같은 케이스가 나오게 되는데,
생성일 기준 고유 사용자 수(모수)를 구하려면 10월 24일에 생성한 사용자 U0179281 1개만 집계되어야 하는게 아닌가 싶어 질문드립니다.
답변 3
3
2
지적하신 대로 중복 건수를 배제해야 하는데 제가 실수 했군요.
count(*) as cnt가 아니라 count(distinct a.user_id) as cnt가 되어야 합니다.
말씀해주셔서 감사드리며, 강의 영상은 빨리 수정해야 하지만, 현재 다른 촉박한 일정으로 인해 8월 말까지 보완하도록 하겠습니다.
감사합니다.
2