Statistiken zu Spam-Markierungen, die von der KI-Triage-Automatisierung gemeldet wurden

Dieser Fehler tritt auf, weil es im genannten Zeitraum keine Spam-Markierungen von @system gab, denen Sie zugestimmt oder widersprochen haben.
Die Abfrage versucht, durch die Gesamtzahl der Markierungen zu dividieren, die die Bedingungen erfüllen. In Ihrem Fall ist das 0, also geht es schief.
Wenn Sie möchten, dass die Abfrage trotzdem ein Ergebnis zurückgibt, können Sie NULLIF verwenden, um dies zu überprüfen, damit Sie NULL erhalten, wenn es nichts zu dividieren gibt.

-- [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) / NULLIF(COUNT(*), 0), 2) AS approved_percentage,
    ROUND(100.0 * COUNT(*) FILTER (WHERE r.status = 2) / NULLIF(COUNT(*), 0), 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) -- Akzeptierte und abgelehnte Markierungen
    AND r.created_by_id = -1 -- Systembenutzer-ID
2 „Gefällt mir“