特定のカテゴリにおける最近のフラグの数を取得する

@southpaw わかりました。投稿しようとしていました :smile:

もし興味があれば、入力できるカスタムフィールドを追加しました。

--[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

複数のカテゴリIDとカスタム間隔(例:1時間、30分、3か月など)を入力できます。

注意:post_action_type_id 6は、ユーザーが警告を受けたことに関連していると思われるため、そのままにしておきました。カウントに含めるかどうかはわかりません。必要なければ削除してください。