Questa è una versione SQL del Report sui migliori referral
Questo report mostrerà gli utenti principali che hanno generato il maggior numero di clic sui link in entrata ai post all’interno di un intervallo di date specificato.
Il report non mostra solo il numero totale di clic ricevuti da ciascun utente, ma anche il conteggio degli argomenti distinti su cui sono distribuiti tali clic. Questo può aiutare a capire quali utenti stanno generando traffico verso il forum da fonti esterne e coinvolgendo il pubblico in più discussioni.
--[params]
-- date :start_date
-- date :end_date
SELECT
il.user_id,
COUNT(*) Clicks,
COUNT(DISTINCT p.topic_id) Topics
FROM incoming_links il
INNER JOIN posts p ON p.id = il.post_id
WHERE il.created_at::date BETWEEN :start_date AND :end_date
AND il.user_id > 0
GROUP BY il.user_id
ORDER BY 2 DESC
Spiegazione della query SQL
La query SQL utilizzata per questo report esegue le seguenti azioni:
- Filtra i record dei link in entrata (
incoming_links) per includere solo quelli creati nell’intervallo di date specificato (:start_datea:end_date). - Garantisce che i link in entrata siano associati a utenti validi (escludendo utenti di sistema o anonimi con
user_id > 0). - Esegue un join tra la tabella
incoming_linkse la tabellapostsper associare ogni clic sul link all’argomento corrispondente. - Raggruppa i risultati per
user_idper aggregare i dati per utente. - Conta il numero totale di clic sui link in entrata (
Clicks) e il numero di argomenti distinti (Topics) per ciascun utente. - Ordina i risultati in base al numero totale di clic in ordine decrescente per identificare i principali contributori.
Parametri
:start_date: L’inizio dell’intervallo di date per cui generare il report.:end_date: La fine dell’intervallo di date per cui generare il report.
Entrambi i parametri di data accettano il formato AAAA-MM-GG.
Esempio di risultati
| Utente | Clic | Argomenti |
|---|---|---|
| username_1 | 5241 | 97 |
| username_2 | 1256 | 14 |
| username_3 | 1242 | 12 |
| … | … | … |