仪表板报告 - 已发送电子邮件

这是电子邮件发送仪表板报告的 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

还值得注意的是,默认情况下电子邮件日志的保留期为 90 天,但可以使用 delete email logs after days 管理员设置进行调整(可以选择设置为 0 以无限期保留)。

万一有人想知道为什么查看去年的日志不起作用。:slight_smile:

1 个赞