Rapport de tableau de bord - E-mails envoyés

Ceci est une version SQL du rapport de tableau de bord pour les e-mails envoyés.

Ce rapport fournit une ventilation quotidienne du nombre total d’e-mails envoyés depuis la plateforme Discourse dans une plage de dates spécifiée. Il est utile pour surveiller l’activité des e-mails, identifier les tendances et s’assurer que le système de messagerie fonctionne correctement.

-- [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  

Explication de la requête SQL

La requête SQL est conçue pour récupérer le nombre d’e-mails envoyés chaque jour dans une période donnée. Voici une explication étape par étape de la requête :

Paramètres

La requête accepte deux paramètres, :start_date et :end_date, permettant à l’utilisateur de spécifier la plage de dates pour le rapport. Les deux paramètres de date acceptent le format de date AAAA-MM-JJ.

Répartition de la requête

  • DATE(sent_at) AS date_sent : Extrait la partie date de l’horodatage sent_at et nomme la colonne résultante date_sent.
  • COUNT(*) AS total_emails_sent : Compte le nombre total de lignes (e-mails) pour chaque groupe, nommant le résultat total_emails_sent.
  • FROM email_logs : Cette clause indique que les données seront récupérées de la table email_logs, qui enregistre chaque instance d’un e-mail envoyé.
  • WHERE sent_at BETWEEN :start_date AND :end_date : Cette clause filtre les données pour inclure uniquement les enregistrements où l’horodatage sent_at se situe dans la plage de dates spécifiée.
  • GROUP BY date_sent : Cette clause regroupe les résultats par la date à laquelle les e-mails ont été envoyés. Ceci est nécessaire pour que la fonction COUNT calcule le total par jour.
  • ORDER BY date_sent ASC : Cette clause trie les résultats par ordre croissant selon la colonne date_sent, garantissant que le rapport affiche les données en commençant par la date la plus ancienne jusqu’à la plus récente dans la plage.

Exemple de résultats

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

Il convient également de noter que la période par défaut de conservation des journaux d’e-mails est de 90 jours, mais qu’elle peut être ajustée à l’aide du paramètre d’administration delete email logs after days (avec la possibilité de le définir sur 0 pour les conserver indéfiniment).

Au cas où quelqu’un se demanderait pourquoi la consultation des journaux de l’année dernière ne fonctionnait pas. :slight_smile:

1 « J'aime »