# 事后统计每个日历月的用户数量

**URL:** https://meta.discourse.org/t/retrospectively-pulling-number-of-users-each-calendar-month/334522
**Category:** Data & reporting
**Created:** [2024年十一月5日 01:40 UTC](https://meta.discourse.org/t/retrospectively-pulling-number-of-users-each-calendar-month/334522 "2024-11-05T01:40:38Z")
**Posts on this page:** 1
**Showing post:** 7

<div class="post-metadata">

### Author: ![HAWK](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hawk/32/86627_2.png) [@HAWK](https://meta.discourse.org/u/HAWK)
#### Post date: [2024年十一月6日 03:23 UTC](https://meta.discourse.org/t/retrospectively-pulling-number-of-users-each-calendar-month/334522/7 "2024-11-06T03:23:32Z")

</div>

好的，我有一个新想法。我问了我们的人工智能助手。

> **SQL 查询：按月活跃用户
AI**
>
> **HAWK:**  
> 请为我编写一个数据探索器查询，该查询返回一个用户列表，这些用户仍然活跃并且是在给定月份注册的。
> 
> **DiscourseHelper:**
> 
> > **搜索中**
> >
> > 正在搜索：Discourse 数据探索器查询，用于查找在特定月份注册的活跃用户
> 
> > **阅读中**
> >
> > 阅读：[特定月份的活跃用户](https://meta.discourse.org/t/active-users-for-specific-months/51495)
> 
> 要创建一个数据探索器查询，返回一个用户列表，这些用户仍然活跃并且是在特定月份注册的，您可以使用以下 SQL 查询。此查询假设活跃用户是指在给定时间范围内发布或回复的用户。
> 
> ```sql
> --[params]
> -- int :month = 5
> -- int :year = 2023
> 
> SELECT u.id, u.username, u.created_at, u.last_seen_at
> FROM users u
> WHERE u.active = TRUE
> AND EXTRACT(MONTH FROM u.created_at) = :month
> AND EXTRACT(YEAR FROM u.created_at) = :year
> AND u.last_seen_at IS NOT NULL -- 假设活跃意味着他们最近访问过网站
> ORDER BY u.created_at
> 
> ```
> 
> ### 查询说明：
> 
> - **`:month` 和 `:year`** 是您可以设置的参数，用于筛选特定的月份和年份。
> - `u.active = TRUE` 确保用户帐户仍然处于活动状态。
> - `EXTRACT(MONTH FROM u.created_at) = :month` 和 `EXTRACT(YEAR FROM u.created_at) = :year` 将注册日期筛选到指定的月份和年份。
> - `u.last_seen_at IS NOT NULL` 认为只要用户在任何时候登录过，他们就是活跃的。
> - 结果提供用户 ID、用户名、注册日期和上次 seen 日期。
> 
> 请随时根据您的需求调整参数和字段。如果您需要任何其他帮助，请告诉我！

如果您遗漏了什么，请随时提供更多上下文。

---

_[View the full topic](https://meta.discourse.org/t/retrospectively-pulling-number-of-users-each-calendar-month/334522)._
