Olá! Estou procurando um pouco de ajuda para modificar uma consulta e retornar nomes de usuário, em vez de números de ID de usuário.
É isso que tenho usado até agora (modificado a partir do excelente tópico Gráfico de Rede de @DavidGNavas):
WITH pairs AS (
SELECT p.user_id liked, pa.user_id liker
FROM post_actions pa
LEFT JOIN posts p ON p.id = pa.post_id
LEFT JOIN topics t ON t.id = p.topic_id
LEFT JOIN categories c ON c.id = t.category_id
WHERE post_action_type_id = 2
AND c.id = 47
)
SELECT liker liker_user_id, liked liked_user_id, count(*)
FROM pairs
GROUP BY liked, liker
ORDER BY count DESC
Depois disso, tenho usado uma busca VLOOKUP bastante complicada para associar os nomes de usuário aos números de ID…
Assim que tiver uma lista de pares (quem curtiu e quem foi curtido) expressa como nomes de usuário, posso seguir o método usado no tópico do Gráfico de Rede para gerar esse tipo de gráfico — mostrando a atividade dentro de categorias específicas, já que temos comunidades distintas em diferentes partes dos nossos fóruns:
Os gráficos ao vivo são uma forma valiosa de explorar nossas diferentes subcomunidades, identificando rapidamente membros influentes e grupos de pessoas.
Por exemplo, compare nossa comunidade de músicos com a de designers gráficos — há uma grande diferença entre as duas ![]()
