# 仪表板报告 - 站点流量

**URL:** <https://meta.discourse.org/t/dashboard-report-site-traffic/358667>\
**Category:** Data & reporting\
**Tags:** sql-query, dashboard-reports, dashboard-sql\
**Created:** [2025年三月24日 20:18 UTC](https://meta.discourse.org/t/dashboard-report-site-traffic/358667 "2025-03-24T20:18:02Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![SaraDev](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/saradev/32/335139_2.png) [@SaraDev](https://meta.discourse.org/u/SaraDev)\
**Post date:** [2025年三月24日 20:18 UTC](https://meta.discourse.org/t/dashboard-report-site-traffic/358667/1 "2025-03-24T20:18:02Z")

</div>

这是站点流量的仪表板报告的 SQL 版本。

本报告按日期汇总了站点流量指标。它将页面浏览量细分为几类，包括登录浏览器浏览量、匿名浏览器浏览量、爬虫浏览量和其他计算的流量类型。

有关此报告的更多详细信息，请参阅：[了解托管计划上的页面浏览量跟踪](https://meta.discourse.org/t/understanding-pageview-tracking-on-hosted-plans/324074)。

```sql
-- [params]
-- date :start_date = 2025-01-01
-- date :end_date = 2025-02-01

WITH first_browser_pageview_date AS (
  SELECT
    MIN(date) AS first_date
  FROM
    application_requests
  WHERE
    req_type IN (13, 15) -- 13: page_view_anon_browser, 15: page_view_logged_in_browser
)

SELECT
  date,
  SUM(CASE WHEN req_type = 15 THEN count ELSE 0 END) AS page_view_logged_in_browser, -- 15: page_view_logged_in_browser
  SUM(CASE WHEN req_type = 13 THEN count ELSE 0 END) AS page_view_anon_browser, -- 13: page_view_anon_browser
  SUM(CASE WHEN req_type = 6 THEN count ELSE 0 END) AS page_view_crawler, -- 6: page_view_crawler
  SUM(
    CASE
      WHEN req_type = 8 THEN count -- 8: page_view_anon
      WHEN req_type = 7 THEN count -- 7: page_view_logged_in
      WHEN req_type = 13 THEN -count -- 13: page_view_anon_browser
      WHEN req_type = 15 THEN -count -- 15: page_view_logged_in_browser
      ELSE 0
    END
  ) AS page_view_other
FROM
  application_requests
WHERE
  date >= :start_date
  AND date <= :end_date
  AND date >= (SELECT first_date FROM first_browser_pageview_date)
GROUP BY
  date
ORDER BY
  date ASC

```

## SQL 查询说明

- **参数**
  - `:start_date`：报告的开始日期。
  - `:end_date`：报告的结束日期。

- **CTE：`first_browser_pageview_date`**
  - 此公共表表达式 (CTE) 标识记录了浏览器页面浏览量（匿名或登录）的最早日期。
  - 筛选 `req_type` 以获取值 `13`（匿名浏览器浏览量）和 `15`（登录浏览器浏览量）。

- **主查询**
  - 按 `date` 聚合 `application_requests` 表中的数据。
  - 筛选行以仅包含指定日期范围（`:start_date` 到 `:end_date`）内以及首次浏览器页面浏览日期（`first_browser_pageview_date`）之后的行。
  - 计算以下指标：
    - **`page_view_logged_in_browser`** ：登录浏览器浏览量的总数（`req_type = 15`）。
    - **`page_view_anon_browser`** ：匿名浏览器浏览量的总数（`req_type = 13`）。
    - **`page_view_crawler`** ：爬虫浏览量的总数（`req_type = 6`）。
    - **`page_view_other`** ：其他页面浏览量的总数，计算方法如下：
      - 加上 `req_type = 8`（匿名浏览量）和 `req_type = 7`（登录浏览量）的计数。
      - 减去 `req_type = 13`（匿名浏览器浏览量）和 `req_type = 15`（登录浏览器浏览量）的计数。

- **结果**
  - **登录浏览器浏览量** ：使用浏览器的登录用户产生的总页面浏览量。
  - **匿名浏览器浏览量** ：使用浏览器的匿名用户产生的总页面浏览量。
  - **爬虫浏览量** ：爬虫（例如搜索引擎机器人）产生的总页面浏览量。
  - **其他页面浏览量** ：包括未归类为浏览器或爬虫浏览量的其他类型的页面浏览量。

## 示例结果

| 日期 | 登录浏览器浏览量 | 匿名浏览器浏览量 | 爬虫浏览量 | 其他页面浏览量 |
| --- | --- | --- | --- | --- |
| 2025-03-20 | 150 | 300 | 50 | 20 |
| 2025-03-21 | 200 | 400 | 60 | 30 |
| 2025-03-22 | 180 | 350 | 55 | 25 |

---

_[View the full topic](https://meta.discourse.org/t/dashboard-report-site-traffic/358667)._
