Esta é uma versão SQL do Relatório de Painel para Principais Referenciadores
Este relatório mostrará os principais usuários que geraram o maior número de cliques em links de entrada para postagens dentro de um intervalo de datas especificado.
O relatório não mostra apenas o número total de cliques que cada usuário recebeu, mas também a contagem de tópicos distintos em que esses cliques estão distribuídos. Isso pode ajudar a entender quais usuários estão direcionando tráfego para o fórum de fontes externas e engajando públicos em várias discussões.
--[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
Explicação da Consulta SQL
A consulta SQL usada para este relatório realiza as seguintes ações:
- Filtra os registros de links de entrada (
incoming_links) para incluir apenas aqueles criados dentro do intervalo de datas especificado (:start_datea:end_date). - Garante que os links de entrada estejam associados a usuários válidos (excluindo usuários do sistema ou anônimos com
user_id > 0). - Junta a tabela
incoming_linkscom a tabelapostspara associar cada clique de link ao tópico correspondente. - Agrupa os resultados por
user_idpara agregar dados por usuário. - Conta o número total de cliques de links de entrada (
Clicks) e o número de tópicos distintos (Topics) para cada usuário. - Ordena os resultados pelo número total de cliques em ordem decrescente para identificar os principais contribuidores.
Parâmetros
:start_date: O início do intervalo de datas para o qual gerar o relatório.:end_date: O fim do intervalo de datas para o qual gerar o relatório.
Ambos os parâmetros de data aceitam o formato AAAA-MM-DD.
Exemplo de Resultados
| Usuário | Cliques | Tópicos |
|---|---|---|
| username_1 | 5241 | 97 |
| username_2 | 1256 | 14 |
| username_3 | 1242 | 12 |
| … | … | … |