강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

하하하하히님의 프로필 이미지
하하하하히

작성한 질문수

다양한 사례로 익히는 SQL 데이터 분석

DAU 기반 테이블 daily_acquisition의 변경사항 공지

쿼리 질문있습니다!!

작성

·

6

0

selectgenerate_series('2016-08-02'::date, '2016-11-01'::date, '1 day'::interval)::dateascurrent_date

)

위의 쿼리로 series를 생성하신 이유가


selectdate_trunc('day', visit_stime)::dateascurr_date

fromga_sess

groupbydate_trunc('day', visit_stime)

)

이 쿼리로 temp_00을 생성하면 11-01 일자의 dau를 구할수 없어서 인지 궁금합니다!

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

하하하하히님, 질문 주신 내용에 대해 답변 드리겠습니다.

질문하신 쿼리는 generate_series를 사용하여 특정 날짜 범위 내 각 날짜를 생성하는 것입니다. 이는 주로 데이터가 존재하지 않는 날짜에 대한 DAU(일일 활성 사용자)를 계산할 때 유용합니다. generate_series 함수는 지정된 범위 내의 모든 날짜를 생성하기 때문에 결과에서 해당 날짜의 DAU 데이터가 없더라도 날짜가 포함됩니다.

반면, 두 번째로 제시된 방법은 date_trunc 함수를 사용하여 실제 visit_stime이 존재하는 날짜에 대해서만 그룹핑합니다. 이 경우, 데이터가 없는 날짜에 대한 정보는 포함되지 않기 때문에 분석 시 해당 날짜가 누락되는 문제가 발생할 수 있습니다.

따라서, generate_series를 사용한 방법은 누락된 날짜에도 기본 값을 포함시켜 전체 범위에 대한 일관된 분석을 가능하게 합니다. 이는 특정 날짜에 데이터가 없는 경우에도 그 날짜의 DAU를 계산할 수 있게 도와줍니다.

혹시 더 깊이 있게 알고 싶으시거나 다른 관련된 예제를 찾고 싶으시다면, DAU 계산에 대한 DAU, WAU, MAU를 SQL로 구하기-02 관련 질문드립니다. 이 질문을 참고하실 수 있습니다. 원래 강의에서 다루고 있는 내용을 참고하시면 좀 더 많은 인사이트를 얻으실 수 있을 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

하하하하히님의 프로필 이미지
하하하하히

작성한 질문수

질문하기