solvesql - SQL문제

solvesql - 일별 블로그 방문자 수 집계(Group By)

정차노 2024. 10. 27. 19:26

문제 출처 : https://solvesql.com/problems/blog-counter/

 

https://solvesql.com/problems/blog-counter/

 

solvesql.com

 

 

 

1. 문제

난이도2, 정답률 40.14% 

ga 테이블에는 데이터리안 기술 블로그에 설치된 Google Analytics를 활용해 수집한 방문, 클릭 로그가 들어 있습니다.

2021년 8월 2일부터 2021년 8월 9일까지 날짜별로 몇 명의 방문자가 방문했는지 알고 싶습니다. 해당 일자 내 로그 테이블에 이벤트가 하나라도 기록 된 경우 방문자로 집계합니다. 기간 별 방문자 수를 일별로 추출하는 쿼리를 작성해주세요. 결과 데이터에는 아래 2개 컬럼이 들어가야하며, 방문일을 기준으로 오름차순 정렬되어있어야 합니다.

  • dt - 방문일
  • users - 방문자 수

 

2. 조건

  • 기간별 방문자 수를 일별로 추출(SELECT)
  • 20210802 - 20210809까지 날짜별로 몇명이 방문했는지(WHERE)

 

3. 쿼리

-- 기간별 방문자 수를 일별로 추출하는 쿼리
-- 20210802 - 20210809까지 날짜별로 몇명이 방문했는지
SELECT 
       event_date_kst         AS dt
      ,COUNT(distinct user_pseudo_id)  AS users
FROM ga
WHERE event_date_kst BETWEEN '2021-08-02' AND '2021-08-09'
GROUP BY event_date_kst
ORDER BY event_date_kst ASC

방문한 날짜의 범위를 WHERE에 정의를 해주고 GROUP BY로 event_date_kst를 넣어줘서 날짜별 기준으로 어떤 유저들이 방문했는지 확인할 수 있다.

다만 중복되는 ID가 있을 수 있기 때문에 distinct를 걸어 중복된 ID는 제거해준다.

 

4. 실행 결과