هذا هو إصدار SQL من تقرير لوحة المعلومات للبريد الإلكتروني المرسل.
يوفر هذا التقرير تفصيلاً يوميًا للعدد الإجمالي للرسائل الإلكترونية المرسلة من منصة Discourse ضمن نطاق تاريخي محدد. وهو مفيد لمراقبة نشاط البريد الإلكتروني وتحديد الاتجاهات وضمان عمل نظام البريد الإلكتروني بشكل صحيح.
-- [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
تم تصميم استعلام SQL لاسترداد عدد رسائل البريد الإلكتروني المرسلة كل يوم خلال فترة معينة. إليك شرح خطوة بخطوة للاستعلام:
المعلمات
يقبل الاستعلام معلمتين، :start_date و :end_date، مما يسمح للمستخدم بتحديد نطاق التاريخ للتقرير. تقبل كلتا معلمتي التاريخ تنسيق التاريخ YYYY-MM-DD.
تفصيل الاستعلام
DATE(sent_at) AS date_sent: يستخرج جزء التاريخ من الطابع الزمنيsent_atويطلق على العمود الناتج اسمdate_sent.COUNT(*) AS total_emails_sent: يحسب العدد الإجمالي للصفوف (رسائل البريد الإلكتروني) لكل مجموعة، ويطلق على النتيجة اسمtotal_emails_sent.FROM email_logs: تشير هذه العبارة إلى أنه سيتم استرداد البيانات من جدولemail_logs، الذي يسجل كل حالة إرسال بريد إلكتروني.WHERE sent_at BETWEEN :start_date AND :end_date: تقوم هذه العبارة بتصفية البيانات لتشمل فقط السجلات التي يقع فيها الطابع الزمنيsent_atضمن نطاق التاريخ المحدد.GROUP BY date_sent: تقوم هذه العبارة بتجميع النتائج حسب التاريخ الذي تم فيه إرسال رسائل البريد الإلكتروني. هذا ضروري لوظيفةCOUNTلحساب الإجمالي لكل يوم.ORDER BY date_sent ASC: تقوم هذه العبارة بترتيب النتائج بترتيب تصاعدي حسب العمودdate_sent، مما يضمن أن يعرض التقرير البيانات بدءًا من أبكر تاريخ إلى أحدث تاريخ ضمن النطاق.
نتائج مثال
| 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 |
| … | … |