Hallo @tpsReports,
Ich habe keine sehr robuste Discourse-Instanz zur Verfügung, auf der ich dies gründlich testen kann, aber ich denke, diese Data Explorer-Abfrage könnte Sie in die richtige Richtung bringen. (Jemand anderes kann wahrscheinlich noch etwas daran verbessern!)
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'
In diesem Beispiel habe ich die Zeit seit der Erstellung des Flags auf 20 Minuten (Zeile 6) festgelegt, da dies dem von Ihnen in Ihrem Beispiel angegebenen Wert entspricht.
In der 7. Zeile habe ich die Kategorie-ID 4 verwendet, aber Sie müssen die spezifische Kategorie-ID für die Kategorie verwenden, die Sie verfolgen möchten.
Wenn Sie sich mit dem Kategorienamen auf die Kategorie beziehen möchten, könnten Sie der Abfrage einen weiteren Join hinzufügen, sodass sie wie folgt aussieht:
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'
Ersetzen Sie dann General in Zeile 8 durch den Namen Ihrer Kategorie. Beachten Sie, dass die Kategorienamen Groß- und Kleinschreibung beachten.
Bitte lassen Sie mich wissen, ob das hilft!