Dashboard-Bericht - Gesendete E-Mails

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 dem sent_at-Zeitstempel und bezeichnet die resultierende Spalte als date_sent.
  • COUNT(*) AS total_emails_sent: Zählt die Gesamtzahl der Zeilen (E-Mails) für jede Gruppe und bezeichnet das Ergebnis als total_emails_sent.
  • FROM email_logs: Diese Klausel gibt an, dass die Daten aus der Tabelle email_logs abgerufen 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 der sent_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 die COUNT-Funktion die Gesamtzahl pro Tag berechnen kann.
  • ORDER BY date_sent ASC: Diese Klausel sortiert die Ergebnisse aufsteigend nach der Spalte date_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

Es ist auch erwähnenswert, dass der Standardzeitraum für die Aufbewahrung von E-Mail-Protokollen 90 Tage beträgt, aber mit der Admin-Einstellung delete email logs after days angepasst werden kann (mit der Option, ihn auf 0 zu setzen, um sie unbegrenzt aufzubewahren).

Nur für den Fall, dass sich jemand gefragt hat, warum die Betrachtung des letzten Jahres nicht funktionierte. :slight_smile:

1 „Gefällt mir“