Diese SQL-Abfrage liefert Statistiken über Spam-Markierungen, die von der Automatisierung unter Discourse AI - AI triage gemeldet wurden. Sie berechnet die Gesamtzahl der Markierungen, wie viele genehmigt oder abgelehnt wurden, und die entsprechenden Prozentsätze. Dieser Bericht ist nützlich, um zu verstehen, wie effektiv die automatische Spam-Erkennung in Ihrem Forum ist.
-- [params]
-- date :start_date = 2025-01-01
-- date :end_date = 2025-05-30
SELECT
COUNT(*) AS total_flags,
COUNT(*) FILTER (WHERE r.status = 1) AS approved_flags,
COUNT(*) FILTER (WHERE r.status = 2) AS rejected_flags,
ROUND(100.0 * COUNT(*) FILTER (WHERE r.status = 1) / COUNT(*), 2) AS approved_percentage,
ROUND(100.0 * COUNT(*) FILTER (WHERE r.status = 2) / COUNT(*), 2) AS rejected_percentage
FROM
reviewables r
JOIN
post_actions pa ON pa.post_id = r.target_id AND r.target_type = 'Post'
WHERE
pa.post_action_type_id = 8 -- ID für Spam (Als Spam markieren und Beitrag ausblenden)
AND r.created_at BETWEEN :start_date AND :end_date
AND r.status IN (1, 2) -- Genehmigte und abgelehnte Markierungen
AND r.created_by_id = -1 -- Systembenutzer-ID
Erklärung der SQL-Abfrage
- Parameter:
:start_dateund:end_dateParameter im FormatJJJJ-MM-TTmit Standardwerten. - Join: Verbindet die Tabelle
reviewablesmit der Tabellepost_actions, um sicherzustellen, dass nur Spam-Markierungen gezählt werden, die den Überprüfungsprozess durchlaufen haben. - Filterung:
post_action_type_id = 8: Beschränkt auf reine Spam-Markierungen.- Datumsbereichsfilterung mit den angegebenen Parametern.
status IN (1, 2): Schließt nur Markierungen ein, die bearbeitet wurden (genehmigt oder abgelehnt).created_by_id = -1: Schließt nur Markierungen ein, die vom Systembenutzer (KI-Triage) erstellt wurden.
- Aggregationen:
total_flags: Die Gesamtzahl der vom System erstellten Spam-Markierungen.approved_flags: Anzahl der Markierungen, die von Mitarbeitern genehmigt wurden (Status = 1).rejected_flags: Anzahl der Markierungen, die von Mitarbeitern abgelehnt wurden (Status = 2).approved_percentage: Prozentsatz der genehmigten Markierungen.rejected_percentage: Prozentsatz der abgelehnten Markierungen.
Beispielergebnisse
| total_flags | approved_flags | rejected_flags | approved_percentage | rejected_percentage |
|---|---|---|---|---|
| 152 | 128 | 24 | 84.21 | 15.79 |