هذا هو إصدار SQL من تقرير لوحة المعلومات لعرض الصفحات المجمعة مع اكتشاف المتصفح.
يوفر تقرير مستكشف البيانات هذا عرضًا لعدد مرات مشاهدة الصفحات اليومية مع اكتشاف المتصفح خلال نطاق تاريخ محدد. يتم تصنيف عدد مرات مشاهدة الصفحات إلى أربعة أنواع:
- متصفح مسجل الدخول
- متصفح مجهول
- زاحف معروف
- مشاهدات صفحات أخرى
-- [params]
-- date :start_date
-- date :end_date
SELECT
ar.date::date AS "date",
SUM(CASE WHEN ar.req_type = 15 THEN count ELSE 0 END) AS "Logged In Browser",
SUM(CASE WHEN ar.req_type = 13 THEN count ELSE 0 END) AS "Anonymous Browser",
SUM(CASE WHEN ar.req_type = 6 THEN count ELSE 0 END) AS "Known Crawler",
SUM(
CASE WHEN ar.req_type = 8 THEN count
WHEN ar.req_type = 7 THEN count
WHEN ar.req_type = 13 THEN -count
WHEN ar.req_type = 15 THEN -count
ELSE 0
END
) AS "Other pageviews"
FROM
application_requests ar
WHERE
ar.date::date >= :start_date
AND ar.date <= :end_date
GROUP BY
ar.date
ORDER BY
ar.date ASC
شرح استعلام SQL
- المعلمات:
:start_date- تاريخ البدء للتقرير.:end_date- تاريخ الانتهاء للتقرير.- تقبل كلتا معلمتي التاريخ تنسيق التاريخ
YYYY-MM-DD.
- عبارة SELECT:
ar.date::date AS "date": يحول حقلdateإلى نوع التاريخ ويسميه “date”.SUM(CASE WHEN ar.req_type = 15 THEN count ELSE 0 END) AS "Logged In Browser": يجمع الأعداد حيثreq_typeهو 15، ويسمي النتيجة “Logged In Browser”.SUM(CASE WHEN ar.req_type = 13 THEN count ELSE 0 END) AS "Anonymous Browser": يجمع الأعداد حيثreq_typeهو 13، ويسمي النتيجة “Anonymous Browser”.SUM(CASE WHEN ar.req_type = 6 THEN count ELSE 0 END) AS "Known Crawler": يجمع الأعداد حيثreq_typeهو 6، ويسمي النتيجة “Known Crawler”.SUM(CASE WHEN ar.req_type = 8 THEN count WHEN ar.req_type = 7 THEN count WHEN ar.req_type = 13 THEN -count WHEN ar.req_type = 15 THEN -count ELSE 0 END) AS "Other pageviews": يجمع الأعداد لأنواع أخرى من الطلبات، ويضبط الأعداد لـreq_type13 و 15 عن طريق طرحها، ويسمي النتيجة “Other pageviews”.
- عبارة FROM:
FROM application_requests ar: يحدد جدولapplication_requestsكمصدر للبيانات، ويطلق عليه اسم مستعارar.
- عبارة WHERE:
ar.date::date >= :start_date AND ar.date <= :end_date: يقوم بتصفية السجلات لتضمين السجلات التي يقع فيهاdateضمن النطاق المحدد:start_dateو:end_dateفقط.
- عبارة GROUP BY:
GROUP BY ar.date: يجمع النتائج حسب حقلdateلتجميع الأعداد لكل يوم.
- عبارة ORDER BY:
ORDER BY ar.date ASC: يرتب النتائج بترتيب تصاعدي حسب حقلdate.
نتائج
ستوفر نتائج هذا الاستعلام تفصيلاً يوميًا لعدد مرات مشاهدة الصفحات مصنفة حسب نوع المتصفح أو الزاحف. سيحتوي كل صف في مجموعة النتائج على:
date: التاريخ المحدد.Logged In Browser: العدد الإجمالي لمشاهدات الصفحات من المستخدمين المسجلين الدخول.Anonymous Browser: العدد الإجمالي لمشاهدات الصفحات من المستخدمين المجهولين.Known Crawler: العدد الإجمالي لمشاهدات الصفحات من الزواحف المعروفة.Other pageviews: العدد الإجمالي لأنواع أخرى من مشاهدات الصفحات.
نتائج مثال
| date | Logged In Browser | Anonymous Browser | Known Crawler | Other pageviews |
|---|---|---|---|---|
| 2024-05-02 | 1238 | 1085 | 2727 | 3983 |
| 2024-05-03 | 1039 | 1068 | 5718 | 3958 |
| 2024-05-04 | 572 | 628 | 3847 | 3761 |
| 2024-05-05 | 447 | 551 | 2093 | 3773 |