Ho trovato questo argomento mentre cercavo un modo per vedere quanto spesso qualcuno viene taggato/menzionato.
Ho un forum guidato dal prodotto con utenti che il nostro forum ama chiamare per consigli/competenze/ecc., ma non vogliamo disturbare sempre le stesse persone e vorremmo distribuire l’attenzione. Mi manca un modo per tenere traccia di chi è stato menzionato/taggato?
Le menzioni sembrano comparire un paio di volte nelle tabelle, o in notifications o in user_actions, quindi potrebbe essere possibile utilizzarle? Non è una query che ho considerato prima, quindi potrebbe avere delle lacune Ma forse qualcosa del genere potrebbe darti un elenco di ‘utenti più menzionati dallo staff nell’ultimo mese’? Da lì, forse potrebbe essere modificato per adattarsi meglio alle tue specifiche?
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