Это 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, что позволяет пользователю указать диапазон дат для отчета. Оба параметра даты принимают формат ГГГГ-ММ-ДД.
Разбор запроса
DATE(created_at) AS date_sent: Извлекает часть даты из временной меткиcreated_atи именует результирующий столбец какdate_sent.COUNT(*) AS total_emails_sent: Подсчитывает общее количество строк (писем) для каждой группы, присваивая результату имяtotal_emails_sent.FROM email_logs: Этот пункт указывает, что данные будут получены из таблицыemail_logs, которая регистрирует каждый случай отправки электронного письма.WHERE created_at BETWEEN :start_date AND :end_date: Этот пункт фильтрует данные, включая только те записи, где временная меткаcreated_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 |
| … | … |