Dies ist eine SQL-Version des Dashboard-Berichts für konsolidierte Seitenaufrufe.
Dieser SQL-Bericht liefert eine tägliche Zählung von Seitenaufrufen von angemeldeten Benutzern, anonymen Benutzern und Crawlern auf einer Discourse-Site.
-- [params]
-- date :start_date
-- date :end_date
SELECT
ar.date::date AS "Datum",
SUM(ar.count) AS "Gesamtansichten",
SUM(CASE WHEN ar.req_type=6 THEN ar.count ELSE 0 END) AS "Crawler-Aufrufe",
SUM(CASE WHEN ar.req_type=7 THEN ar.count ELSE 0 END) AS "Aufrufe angemeldeter Benutzer",
SUM(CASE WHEN ar.req_type=8 THEN ar.count ELSE 0 END) AS "Aufrufe anonymer Benutzer"
FROM application_requests ar
WHERE req_type IN (6,7,8)
AND ar.date::date BETWEEN :start_date AND :end_date
GROUP BY date
ORDER BY date
Erklärung der SQL-Abfrage
Die Abfrage arbeitet mit der Tabelle application_requests, die verschiedene Arten von Anfragen an das Forum protokolliert. Sie konzentriert sich auf drei spezifische Anfragetypen, die durch die req_type-Werte identifiziert werden:
6: Crawler-Aufrufe7: Aufrufe angemeldeter Benutzer8: Aufrufe anonymer Benutzer
Hier ist eine Schritt-für-Schritt-Erklärung, was die Abfrage tut:
- Parameter: Die Abfrage akzeptiert zwei Parameter,
:start_dateund:end_date, die es dem Benutzer ermöglichen, den Datumsbereich für den Bericht anzugeben. Beide Datumsparameter akzeptieren das DatumsformatJJJJ-MM-TT. - Auswahl: Die Abfrage wählt das Datum der Anfrage (
ar.date) aus und wandelt es in den Datentypdateum. Sie berechnet auch die Gesamtansichten und die Aufschlüsselung der Ansichten nach Typ (Crawler, angemeldeter Benutzer und anonymer Benutzer) für jedes Datum innerhalb des angegebenen Bereichs. - Summierung: Sie summiert die Spalte
countfür jeden Ansichtstyp. DieCASE-Anweisungen werden verwendet, um die Zählungen basierend auf demreq_typebedingt in die Summe einzubeziehen. - Filterung: Die
WHERE-Klausel filtert die Datensätze, um nur diejenigen mitreq_type-Werten von 6, 7 oder 8 und mit Daten zwischen dem angegebenen:start_dateund:end_dateeinzuschließen. - Gruppierung: Die Abfrage gruppiert die Ergebnisse nach Datum, um sicherzustellen, dass die Zählungen für jeden Ansichtstyp pro Tag aggregiert werden.
- Sortierung: Die Ergebnisse werden nach Datum sortiert, um eine chronologische Ansicht des Traffics zu erhalten.
Beispielergebnisse
| Datum | Gesamtansichten | Crawler-Aufrufe | Aufrufe angemeldeter Benutzer | Aufrufe anonymer Benutzer |
|---|---|---|---|---|
| 2023-11-18 | 5608 | 3052 | 565 | 1928 |
| 2023-11-19 | 9207 | 6564 | 470 | 2273 |
| 2023-11-20 | 6271 | 2631 | 1016 | 2924 |

