Encontrei este tópico quando estava procurando uma maneira de ver com que frequência alguém é marcado/mencionado.
Tenho um fórum focado em produtos, com usuários que gostamos de chamar para obter conselhos/especialização/etc., mas não queremos incomodar sempre as mesmas pessoas e gostaríamos de distribuir a atenção. Estou perdendo alguma maneira de acompanhar quem foi mencionado/marcado?
As menções parecem aparecer algumas vezes nas tabelas, seja em notifications ou user_actions, então talvez seja possível usá-las? Não é uma consulta que eu tenha considerado antes, então isso pode ter algumas falhas Mas talvez algo como isso possa te dar uma lista de ‘usuários mais mencionados pela equipe no último mês’? A partir daí, talvez possa ser ajustado para atender um pouco mais às suas especificações?
SELECT ua.user_id,
count(ua.user_id)
FROM user_actions ua
JOIN group_users gu ON gu.user_id = ua.acting_user_id
WHERE ua.action_type = 7
AND gu.group_id = 3
AND ua.created_at >= CURRENT_DATE - INTERVAL '1 MONTH'
GROUP BY ua.user_id
ORDER BY count(ua.user_id) DESC
LIMIT 100