Questa è una versione SQL del report della dashboard per le email inviate.
Questo report fornisce una ripartizione giornaliera del numero totale di email inviate dalla piattaforma Discourse all’interno di un intervallo di date specificato. È utile per monitorare l’attività delle email, identificare le tendenze e garantire che il sistema di posta elettronica funzioni correttamente.
-- [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
Spiegazione della query SQL
La query SQL è progettata per recuperare il conteggio delle email inviate ogni giorno all’interno di un determinato periodo. Ecco una spiegazione passo passo della query:
Parametri
La query accetta due parametri, :start_date e :end_date, che consentono all’utente di specificare l’intervallo di date per il report. Entrambi i parametri di data accettano il formato data AAAA-MM-GG.
Scomposizione della query
DATE(sent_at) AS date_sent: Estrae la parte della data dal timestampsent_ate denomina la colonna risultantedate_sent.COUNT(*) AS total_emails_sent: Conta il numero totale di righe (email) per ogni gruppo, denominando il risultatototal_emails_sent.FROM email_logs: Questa clausola indica che i dati verranno recuperati dalla tabellaemail_logs, che registra ogni istanza di invio di un’email.WHERE sent_at BETWEEN :start_date AND :end_date: Questa clausola filtra i dati per includere solo i record in cui il timestampsent_atrientra nell’intervallo di date specificato.GROUP BY date_sent: Questa clausola raggruppa i risultati per la data in cui sono state inviate le email. Ciò è necessario affinché la funzioneCOUNTcalcoli il totale al giorno.ORDER BY date_sent ASC: Questa clausola ordina i risultati in ordine crescente per la colonnadate_sent, assicurando che il report mostri i dati a partire dalla data più vecchia fino alla più recente nell’intervallo.
Risultati di esempio
| 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 |
| … | … |