Encontré este tema cuando buscaba una forma de ver con qué frecuencia se etiqueta/menciona a alguien.
Tengo un foro centrado en productos con usuarios a los que nuestro foro les gusta recurrir para pedir consejo/experiencia/etc., pero no queremos molestar siempre a las mismas personas y nos gustaría repartir el reconocimiento. ¿Me estoy perdiendo alguna forma de hacer un seguimiento de quién ha sido mencionado/etiquetado?
Las menciones parecen aparecer un par de veces en las tablas, ya sea en notifications o user_actions, ¿así que tal vez sea posible usarlas? No es una consulta que haya considerado antes, así que podría tener algunos fallos Pero tal vez algo como esto podría darte una lista de ‘usuarios más mencionados por el personal en el último mes’. A partir de ahí, tal vez se podría ajustar para adaptarlo un poco más a tus especificaciones.
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