Dies ist eine SQL-Version des Dashboard-Berichts für gesendete E-Mails.
Dieser Bericht bietet eine tägliche Aufschlüsselung der Gesamtzahl der von der Discourse-Plattform gesendeten E-Mails innerhalb eines bestimmten Zeitraums. Er ist nützlich für die Überwachung der E-Mail-Aktivität, die Identifizierung von Trends und die Sicherstellung, dass das E-Mail-System ordnungsgemäß funktioniert.
-- [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-Abfrageerklärung
Die SQL-Abfrage ist so konzipiert, dass die Anzahl der pro Tag gesendeten E-Mails innerhalb eines bestimmten Zeitraums abgerufen wird. Hier ist eine schrittweise Erklärung der Abfrage:
Parameter
Die Abfrage akzeptiert zwei Parameter, :start_date und :end_date, mit denen der Benutzer den Datumsbereich für den Bericht festlegen kann. Beide Datumsparameter akzeptieren das Datumsformat JJJJ-MM-TT.
Abfrageaufschlüsselung
DATE(sent_at) AS date_sent: Extrahiert den Datumsteil aus demsent_at-Zeitstempel und bezeichnet die resultierende Spalte alsdate_sent.COUNT(*) AS total_emails_sent: Zählt die Gesamtzahl der Zeilen (E-Mails) für jede Gruppe und bezeichnet das Ergebnis alstotal_emails_sent.FROM email_logs: Diese Klausel gibt an, dass die Daten aus der Tabelleemail_logsabgerufen werden, die jeden Fall des schreibens einer E-Mail aufzeichnet.WHERE sent_at BETWEEN :start_date AND :end_date: Diese Klausel filtert die Daten, um nur die Datensätze einzuschließen, bei denen dersent_at-Zeitstempel innerhalb des angegebenen Datumsbereichs liegt.GROUP BY date_sent: Diese Klausel gruppiert die Ergebnisse nach dem Datum, an dem die E-Mails gesendet wurden. Dies ist notwendig, damit dieCOUNT-Funktion die Gesamtzahl pro Tag berechnen kann.ORDER BY date_sent ASC: Diese Klausel sortiert die Ergebnisse aufsteigend nach der Spaltedate_sent, um sicherzustellen, dass der Bericht die Daten vom frühesten bis zum spätesten Datum im Bereich anzeigt.
Beispielergebnisse
| 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 |
| … | … |