Ho utilizzato una query di Data Explorer per capire chi ha partecipato a un argomento in base a user_actions:
-- [params]
-- int :topic = 3620561
select user_id,
sum(action_type) actions,
sum(case action_type when 5 then 1 else 0 end) replies
from user_actions ua
join users u on u.id = ua.user_id
where target_topic_id = :topic
and moderator is false
and admin is false
group by ua.user_id
Ciò include azioni come risposte, mi piace, modifiche e menzioni. Ho anche una query che include le risposte ai sondaggi. Questo serviva per raccogliere lead, ma mi aspetto che alcune delle persone che hanno fatto qualcosa oltre a rispondere possano avere un diritto sull’argomento. Definire “ha partecipato” potrebbe essere un esercizio utile.
Per espandere all’intera categoria, unisci con topics t on target_topic_id = t.id e aggiungi category_id alla clausola where. Non dovrebbe essere difficile definire l’intervallo di tempo in base a ua.created_at.