这是电子邮件发送仪表板报告的 SQL 版本。
本报告提供指定日期范围内从 Discourse 平台发送的电子邮件总数的每日明细。它有助于监控电子邮件活动、识别趋势并确保电子邮件系统正常运行。
-- [params]
-- date :start_date
-- date :end_date
SELECT
DATE(created_at) AS date_sent,
COUNT(*) AS total_emails_sent
FROM email_logs
WHERE created_at BETWEEN :start_date AND :end_date
GROUP BY date_sent
ORDER BY date_sent ASC
SQL 查询说明
该 SQL 查询旨在检索给定时间段内每天发送的电子邮件数量。以下是查询的分步说明:
参数
该查询接受两个参数 :start_date 和 :end_date,允许用户指定报告的日期范围。两个日期参数都接受 YYYY-MM-DD 格式的日期。
查询明细
DATE(sent_at) AS date_sent:从sent_at时间戳中提取日期部分,并将结果列标记为date_sent。COUNT(*) AS total_emails_sent:计算每个组的总行数(电子邮件),并将结果标记为total_emails_sent。FROM email_logs:此子句指示将从email_logs表中检索数据,该表记录了发送电子邮件的每个实例。WHERE sent_at BETWEEN :start_date AND :end_date:此子句将数据筛选为仅包含sent_at时间戳落在指定日期范围内的记录。GROUP BY date_sent:此子句按发送电子邮件的日期对结果进行分组。这对于COUNT函数计算每日总数是必需的。ORDER BY date_sent ASC:此子句按date_sent列的升序对结果进行排序,确保报告显示该范围内从最早日期到最晚日期的顺序。
示例结果
| date_sent | total_emails_sent |
|---|---|
| 2023-11-19 | 264 |
| 2023-11-20 | 932 |
| 2023-11-21 | 678 |
| 2023-11-22 | 637 |
| 2023-11-23 | 369 |
| … | … |