لقد استخدمت استعلام مستكشف البيانات لمعرفة من شارك في موضوع بناءً على 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
وهذا يشمل إجراءات مثل الردود والإعجابات والتعديلات والإشارات. لدي أيضًا استعلام يتضمن ردود الاستطلاعات. كان هذا لجمع العملاء المحتملين، لكنني أتوقع أن يكون لبعض الأشخاص الذين فعلوا شيئًا بخلاف الرد مطالبة بالموضوع. قد يكون تعريف “شارك” تمرينًا مفيدًا.
لتوسيع النطاق ليشمل الفئة بأكملها، قم بالربط مع topics t on target_topic_id = t.id وأضف category_id إلى عبارة where. لا ينبغي أن يكون من الصعب تحديد الإطار الزمني بناءً على ua.created_at.