这是仪表板报告的 SQL 版本,用于合并的页面浏览量及浏览器检测。
此数据探索器报告提供指定日期范围内每日网站页面浏览量(含浏览器检测)的视图。页面浏览量分为四种类型:
- 登录浏览器
- 匿名浏览器
- 已知爬虫
- 其他页面浏览量
-- [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 查询说明
- 参数:
: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_type为 13 和 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 |