📜 문제 설명
ga 테이블에는 데이터리안 기술 블로그에 설치된 Google Analytics를 활용해 수집한 방문, 클릭 로그가 들어 있습니다.
2021년 8월 2일부터 2021년 8월 9일까지 날짜별로 몇 명의 방문자가 방문했는지 알고 싶습니다. 해당 일자 내 로그 테이블에 이벤트가 하나라도 기록 된 경우 방문자로 집계합니다. 기간 별 방문자 수를 일별로 추출하는 쿼리를 작성해주세요. 결과 데이터에는 아래 2개 컬럼이 들어가야하며, 방문일을 기준으로 오름차순 정렬되어있어야 합니다.
- dt - 방문일
- users - 방문자 수
GA 테이블
- date | event_date_kst이벤트 날짜 (KST)
- string | user_pseudo_id사용자의 가명처리된 ID
- datetime | event_timestamp_kst이벤트 시각 (KST)
- datetime | user_first_touch_timestamp_kst사용자의 첫 방문 시각 (KST)
- string | event_name이벤트 이름
- string | key이벤트 매개변수 키
- string | string_value이벤트 매개변수 문자열 값
- number | int_value이벤트 매개변수 정수 값
- string | geo_continent이벤트가 보고된 대륙
- string | geo_country이벤트가 보고된 국가
- string | traffic_source_medium사용자를 획득한 매체
- string | traffic_source사용자를 획득한 네트워크 이름
❓ 문제
2021년 8월 2일부터 2021년 8월 9일까지 날짜별로 몇 명의 방문자가 방문했는지 쿼리를 작성하세요.
🔗 문제 링크
https://solvesql.com/problems/blog-counter/
💡 문제 풀이
8월 2일에서 9일까지 일자만 조회
일자별로 GROUP화
해당 날짜별로 들어온 사용자 ID를 조회하되 DISTINCT로 조회해 중복 제거
SELECT
DATE(event_date_kst) AS dt,
COUNT(DISTINCT (user_pseudo_id)) AS users
FROM
ga
WHERE
'2021-08-02' <= DATE(event_date_kst)
AND DATE(event_date_kst) <= '2021-08-09'
GROUP BY
DATE(event_date_kst)
반응형
'✨APS (Algorithm Problem Solving) > SolveSQL' 카테고리의 다른 글
[solvesql] 지역별 주문의 특징 / SQLite (0) | 2022.12.12 |
---|---|
[solvesql] 점검이 필요한 자전거 찾기 / SQLite (0) | 2022.12.06 |
[solvesql] 배송 예정일 예측 성공과 실패 / SQLite (0) | 2022.12.06 |
[solvesql] 할부는 몇 개월로 해드릴까요 / SQLite (2) | 2022.11.25 |
[solvesql] 작품이 없는 작가 찾기 / SQLite (0) | 2022.11.24 |