Ceci est une version SQL du rapport de tableau de bord pour les utilisateurs actifs quotidiennement.
Le rapport SQL comptera le nombre d’utilisateurs uniques qui ont aimé ou publié sur un site chaque jour.
--[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
Répartition de la requête :
- Paramètres de date : La requête accepte deux paramètres de date,
:start_dateet:end_date, qui vous permettent de spécifier la plage pour le rapport. - Sélection : Elle sélectionne la date de l’action (
ua.created_at::date) et compte les identifiants d’utilisateur distincts (COUNT(DISTINCT ua.user_id)) qui ont effectué les actions, en aliasant ce décompte sous le nom deengaged_users. - Source de données : La requête extrait de la table
user_actions(ua) et la joint avec la tabletopics(t) pour se concentrer sur les actions liées aux sujets. - Types d’action : Elle filtre les actions pour inclure uniquement celles des types 1, 4, 5 et 12. Ces types d’action correspondent aux activités spécifiques suivantes :
1 : J'aime4 : Nouveau sujet15 : Réponse12 : Nouveau message privé
- Regroupement et tri : Les résultats sont regroupés par la date de l’action et triés par ordre croissant, vous offrant une vue chronologique de l’activité.
Résultats d’exemple
| jour | utilisateurs actifs |
|---|---|
| 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 |