다음은 브라우저 감지 기능이 포함된 통합 페이지뷰 대시보드 리포트의 SQL 버전입니다.
이 Data Explorer 리포트는 지정된 날짜 범위 내에서 브라우저 감지 기능을 포함한 일일 사이트 페이지뷰를 보여줍니다. 페이지뷰는 다음 네 가지 유형으로 분류됩니다:
- 로그인된 브라우저 (Logged In Browser)
- 익명 브라우저 (Anonymous Browser)
- 알려진 크롤러 (Known Crawler)
- 기타 페이지뷰 (Other pageviews)
-- [params]
-- date :start_date
-- date :end_date
SELECT
ar.date::date AS "date",
SUM(CASE WHEN ar.req_type = 15 THEN count ELSE 0 END) AS "Logged In Browser",
SUM(CASE WHEN ar.req_type = 13 THEN count ELSE 0 END) AS "Anonymous Browser",
SUM(CASE WHEN ar.req_type = 6 THEN count ELSE 0 END) AS "Known Crawler",
SUM(
CASE WHEN ar.req_type = 8 THEN count
WHEN ar.req_type = 7 THEN count
WHEN ar.req_type = 13 THEN -count
WHEN ar.req_type = 15 THEN -count
ELSE 0
END
) AS "Other pageviews"
FROM
application_requests ar
WHERE
ar.date::date >= :start_date
AND ar.date <= :end_date
GROUP BY
ar.date
ORDER BY
ar.date ASC
SQL 쿼리 설명
- 매개변수 (Parameters):
:start_date- 리포트의 시작 날짜.:end_date- 리포트의 종료 날짜.- 두 날짜 매개변수 모두
YYYY-MM-DD형식의 날짜를 받습니다.
- SELECT 절:
ar.date::date AS "date":date필드를 날짜 타입으로 변환하고 "date"라고 라벨링합니다.SUM(CASE WHEN ar.req_type = 15 THEN count ELSE 0 END) AS "Logged In Browser":req_type이 15인 경우의 카운트를 합산하여 결과를 "Logged In Browser"라고 라벨링합니다.SUM(CASE WHEN ar.req_type = 13 THEN count ELSE 0 END) AS "Anonymous Browser":req_type이 13인 경우의 카운트를 합산하여 결과를 "Anonymous Browser"라고 라벨링합니다.SUM(CASE WHEN ar.req_type = 6 THEN count ELSE 0 END) AS "Known Crawler":req_type이 6인 경우의 카운트를 합산하여 결과를 "Known Crawler"라고 라벨링합니다.SUM(CASE WHEN ar.req_type = 8 THEN count WHEN ar.req_type = 7 THEN count WHEN ar.req_type = 13 THEN -count WHEN ar.req_type = 15 THEN -count ELSE 0 END) AS "Other pageviews": 기타 유형의 요청에 대한 카운트를 합산하되,req_type13과 15의 카운트는 차감하여 조정하며, 결과를 "Other pageviews"라고 라벨링합니다.
- FROM 절:
FROM application_requests ar: 데이터 소스로application_requests테이블을 지정하고ar로 별칭을 부여합니다.
- WHERE 절:
ar.date::date >= :start_date AND ar.date <= :end_date:date가 지정된:start_date와:end_date범위에 포함되는 레코드만 포함하도록 필터링합니다.
- GROUP BY 절:
GROUP BY ar.date:date필드를 기준으로 결과를 그룹화하여 각 날짜별 카운트를 집계합니다.
- ORDER BY 절:
ORDER BY ar.date ASC:date필드를 기준으로 오름차순으로 결과를 정렬합니다.
결과
이 쿼리의 결과는 브라우저 또는 크롤러 유형별로 분류된 일별 페이지뷰 내역을 제공합니다. 결과 집합의 각 행에는 다음 내용이 포함됩니다:
date: 특정 날짜.Logged In Browser: 로그인된 사용자의 총 페이지뷰 수.Anonymous Browser: 익명 사용자의 총 페이지뷰 수.Known Crawler: 알려진 크롤러의 총 페이지뷰 수.Other pageviews: 기타 유형의 총 페이지뷰 수.
결과 예시
| date | Logged In Browser | Anonymous Browser | Known Crawler | Other pageviews |
|---|---|---|---|---|
| 2024-05-02 | 1238 | 1085 | 2727 | 3983 |
| 2024-05-03 | 1039 | 1068 | 5718 | 3958 |
| 2024-05-04 | 572 | 628 | 3847 | 3761 |
| 2024-05-05 | 447 | 551 | 2093 | 3773 |