Relatório do Painel - Principais Referenciadores

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_date a :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_links com a tabela posts para associar cada clique de link ao tópico correspondente.
  • Agrupa os resultados por user_id para 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
4 curtidas