Questo è una versione SQL del Report della Bacheca per gli Utenti Attivi Giornalieri.
Il report SQL conterà il numero di utenti unici che hanno messo “mi piace” o pubblicato su un sito ogni giorno.
--[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
Dettaglio della Query:
- Parametri Data: La query accetta due parametri data,
:start_datee:end_date, che consentono di specificare l’intervallo per il report. - Selezione: Seleziona la data dell’azione (
ua.created_at::date) e conta gli ID utente distinti (COUNT(DISTINCT ua.user_id)) che hanno eseguito le azioni, soprannominando questo conteggio comeengaged_users. - Origine Dati: La query estrae dalla tabella
user_actions(ua) e la unisce con la tabellatopics(t) per concentrarsi sulle azioni relative agli argomenti. - Tipi di Azione: Filtra le azioni per includere solo quelle con i tipi 1, 4, 5 e 12. Questi tipi di azione corrispondono alle seguenti attività specifiche:
1: Mi piace4: Nuovo Argomento15: Risposta12: Nuovo Messaggio Privato
- Raggruppamento e Ordinamento: I risultati sono raggruppati per data dell’azione e ordinati in ordine crescente, fornendo una visualizzazione cronologica dell’attività.
Risultati di Esempio
| 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 |