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

Hi @tpsReports

徹底的にテストできるような堅牢な Discourse インスタンスが手元にないため、この Data Explorer クエリがお役に立てるかと思います。(どなたか、さらに改善できる方がいらっしゃいましたら、ぜひご意見をお聞かせください!)

SELECT count(*)
FROM post_actions AS pac
JOIN posts p on p.id = pac.post_id
JOIN topics t on t.id = p.topic_id
WHERE pac.post_action_type_id in ('3','4','7','8')
AND pac.created_at >= NOW() - INTERVAL '20 MINUTE'
AND t.category_id = '4'

この例では、フラグが作成されてからの時間を20分に指定しました(6行目)。これは、お客様の例で示された値と同じです。
7行目ではカテゴリIDを4としていますが、追跡したいカテゴリの特定のカテゴリIDを使用する必要があります。

カテゴリ名を指定して参照できるようにするには、クエリにさらにJOINを追加すると、以下のようになります。

SELECT count(*)
FROM post_actions AS pac
JOIN posts p on p.id = pac.post_id
JOIN topics t on t.id = p.topic_id
JOIN categories c on c.id = t.category_id
WHERE pac.post_action_type_id in ('3','4','7','8')
AND pac.created_at >= NOW() - INTERVAL '20 MINUTE'
AND c.name = 'General'

その後、8行目の General を、お使いのカテゴリ名に置き換えてください。カテゴリ名は、大文字と小文字を区別することに注意してください。

これで役立つかどうか、お知らせください!

「いいね!」 4