@southpaw أحسنت؛ كنت على وشك النشر ![]()
إذا كنت مهتمًا، فقد أضفت حقولًا مخصصة يمكنك ملؤها:
--[params]
-- int_list :category_ids
-- text :interval = 20min
SELECT t.category_id, count(pa.id) count
from post_actions pa
INNER JOIN posts p on p.id = pa.post_id
INNER JOIN topics t on t.id = p.topic_id
WHERE post_action_type_id in (3, 4, 6, 7, 8)
AND t.category_id in (:category_ids)
AND pa.created_at >= now() - interval :interval
GROUP BY t.category_id
يمكنك إدخال معرفات فئات متعددة وفترات زمنية مخصصة (مثل 1 ساعة، 30 دقيقة، 3 أشهر، إلخ)
ملاحظة: لقد احتفظت بـ post_action_type_id 6، والذي أعتقد أنه يتعلق بتلقي المستخدم تحذيرًا؛ لست متأكدًا مما إذا كنت تريد احتسابه أيضًا؛ فلا تتردد في إزالته إذن.
