סטטיסטיקות על דיווחי סימון ספאם על ידי אוטומציית טריאז' AI

השגיאה הזו מתרחשת מכיוון שלא היו דגלי ספאם על ידי @system שהסכמת או לא הסכמת איתם במהלך טווח הזמן הזה.
השאילתה מנסה לחלק את מספר הדגלים הכולל העומדים בתנאים. במקרה שלך זה 0, אז זה נשבר.
אם אתה רוצה שהשאילתה עדיין תחזיר תוצאה, אתה יכול להשתמש ב- NULLIF כדי לבדוק זאת כדי לקבל NULL כשאין מה לחלק.

-- [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 -- מזהה עבור ספאם (סמן כספאם והסתר פוסט)
    AND r.created_at BETWEEN :start_date AND :end_date
    AND r.status IN (1, 2) -- דגלים שאושרו ונדחו
    AND r.created_by_id = -1 -- מזהה משתמש מערכת
2 לייקים