강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của jeongjiu1733356
jeongjiu1733356

câu hỏi đã được viết

Phân tích dữ liệu SQL được học qua nhiều ví dụ khác nhau

Tính tỷ lệ giữ chân hàng ngày trong một tuần bằng SQL

일별 잔존율 SQL 로직에서 궁금증이 있습니다.

Viết

·

371

1

안녕하세요.

강사님의 강의를 잘 듣고 있는 와중, 일별 잔존율 SQL문에서 궁금증이 생겼습니다.

 

SQL 로직을 보면 사용자 테이블과 세션 테이블을 left join 한 다음,

사용자 아이디, 생성일자, 방문일자로 그룹화하고,

다시 생성일자로 그룹화 한 후 생성일 기준 고유 사용자 수와 D+N 별 고유 사용자 수를 구하는 것으로 이해했습니다.

 

다만 세 컬럼으로 그룹화를 하게 되면,

 

아이디             생성일자             방문일자

U0179281    2016-10-24    2016-10-25
U0179281    2016-10-24    2016-10-26

와 같은 케이스가 나오게 되는데,

이를 다시 생성일자로 그룹화한 다음 count(*) 로 생성일 기준 모수를 구하게 되면 사용자 아이디는 중복으로 집계되는 것이 아닌지 궁금합니다.

생성일 기준 고유 사용자 수(모수)를 구하려면 10월 24일에 생성한 사용자 U0179281 1개만 집계되어야 하는게 아닌가 싶어 질문드립니다.

 

 

 

 

DBMS/RDBMSpostgresqlsql데이터 엔지니어링퍼포먼스 마케팅

Câu trả lời 3

3

저도 의아했는데 좋은 질문 감사합니다.

2

dooleyz3525님의 프로필 이미지
dooleyz3525
Người chia sẻ kiến thức

지적하신 대로 중복 건수를 배제해야 하는데 제가 실수 했군요. 

count(*) as cnt가 아니라 count(distinct a.user_id) as cnt가 되어야 합니다. 

말씀해주셔서 감사드리며, 강의 영상은 빨리 수정해야 하지만, 현재 다른 촉박한 일정으로 인해  8월 말까지 보완하도록 하겠습니다. 

감사합니다. 

2

dooleyz3525님의 프로필 이미지
dooleyz3525
Người chia sẻ kiến thức

안녕하십니까, 

해당 로직은 시간을 가지고 제가 다시 한번 점검이 필요할 것 같습니다. 

제가 지금 휴가중이라 1~2일 중에 다시 답변 드리겠습니다. 

감사합니다. 

Hình ảnh hồ sơ của jeongjiu1733356
jeongjiu1733356

câu hỏi đã được viết

Đặt câu hỏi