Dies ist eine SQL-Version des Dashboard-Berichts für täglich aktive Benutzer.
Der SQL-Bericht zählt die Anzahl der eindeutigen Benutzer, die täglich auf einer Website geliked oder gepostet haben.
--[params]
-- date :start_date
-- date :end_date
SELECT
ua.created_at::date AS day,
COUNT(DISTINCT ua.user_id) AS engaged_users
FROM user_actions ua
INNER JOIN topics t on t.id = ua.target_topic_id
WHERE ua.created_at::date BETWEEN :start_date AND :end_date
AND ua.action_type IN (1, 4, 5, 12)
GROUP BY ua.created_at::date
ORDER BY ua.created_at::date ASC
Aufschlüsselung der Abfrage:
- Datumsparameter: Die Abfrage akzeptiert zwei Datumsparameter,
:start_dateund:end_date, mit denen Sie den Bereich für den Bericht festlegen können. - Auswahl: Sie wählt das Datum der Aktion (
ua.created_at::date) aus und zählt die eindeutigen Benutzer-IDs (COUNT(DISTINCT ua.user_id)), die die Aktionen durchgeführt haben, und versieht diese Zählung mit dem Aliasengaged_users. - Datenquelle: Die Abfrage zieht Daten aus der Tabelle
user_actions(ua) und verknüpft sie mit der Tabelletopics(t), um sich auf Aktionen im Zusammenhang mit Themen zu konzentrieren. - Aktionstypen: Sie filtert die Aktionen, um nur diejenigen mit den Typen 1, 4, 5 und 12 einzuschließen. Diese Aktionstypen entsprechen den folgenden spezifischen Aktivitäten:
1: Like4: New Topic15: Reply12: New Private Message
- Gruppierung und Sortierung: Die Ergebnisse werden nach dem Datum der Aktion gruppiert und in aufsteigender Reihenfolge sortiert, was Ihnen eine chronologische Ansicht der Aktivität liefert.
Beispielergebnisse
| day | engaged_users |
|---|---|
| 2023-01-01 | 136 |
| 2023-01-02 | 124 |
| 2023-01-03 | 187 |
| 2023-01-04 | 287 |
| 2023-01-05 | 110 |
| 2023-01-06 | 95 |
| 2023-01-07 | 73 |