Informe del panel - Correos enviados

Este es una versión SQL del Informe del Panel para Correos Electrónicos Enviados.

Este informe proporciona un desglose diario del número total de correos electrónicos enviados desde la plataforma Discourse dentro de un rango de fechas especificado. Es útil para monitorear la actividad de correo electrónico, identificar tendencias y garantizar que el sistema de correo electrónico funcione correctamente.

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

Explicación de la Consulta SQL

La consulta SQL está diseñada para recuperar el recuento de correos electrónicos enviados cada día dentro de un período determinado. Aquí hay una explicación paso a paso de la consulta:

Parámetros

La consulta acepta dos parámetros, :start_date y :end_date, lo que permite al usuario especificar el rango de fechas para el informe. Ambos parámetros de fecha aceptan el formato de fecha AAAA-MM-DD.

Desglose de la Consulta

  • DATE(sent_at) AS date_sent: Extrae la parte de la fecha de la marca de tiempo sent_at y etiqueta la columna resultante como date_sent.
  • COUNT(*) AS total_emails_sent: Cuenta el número total de filas (correos electrónicos) para cada grupo, etiquetando el resultado como total_emails_sent.
  • FROM email_logs: Esta cláusula indica que los datos se recuperarán de la tabla email_logs, que registra cada instancia de envío de un correo electrónico.
  • WHERE sent_at BETWEEN :start_date AND :end_date: Esta cláusula filtra los datos para incluir solo los registros donde la marca de tiempo sent_at cae dentro del rango de fechas especificado.
  • GROUP BY date_sent: Esta cláusula agrupa los resultados por la fecha en que se enviaron los correos electrónicos. Esto es necesario para que la función COUNT calcule el total por día.
  • ORDER BY date_sent ASC: Esta cláusula ordena los resultados en orden ascendente por la columna date_sent, asegurando que el informe muestre los datos comenzando desde la fecha más temprana hasta la más reciente dentro del rango.

Resultados de Ejemplo

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

También vale la pena señalar que el período predeterminado para conservar los registros de correo electrónico es de 90 días, pero se puede ajustar utilizando la configuración de administrador delete email logs after days (con la opción de establecerlo en 0 para conservarlos indefinidamente).

Por si alguien se preguntaba por qué no funcionaba la consulta de los registros del año pasado. :slight_smile:

1 me gusta