Cette requête SQL fournit des statistiques sur les drapeaux de spam signalés par l’automatisation Discourse AI - AI triage. Elle calcule le nombre total de drapeaux, combien ont été approuvés ou rejetés, et les pourcentages correspondants. Ce rapport est utile pour comprendre l’efficacité de la détection automatisée de spam sur votre forum.
-- [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 pour le spam (Signaler comme spam et masquer le message)
AND r.created_at BETWEEN :start_date AND :end_date
AND r.status IN (1, 2) -- Drapeaux acceptés et rejetés
AND r.created_by_id = -1 -- ID de l'utilisateur système
Explication de la requête SQL
- Paramètres : Les paramètres
:start_dateet:end_dateau formatAAAA-MM-JJavec des valeurs par défaut. - Jointure : Connecte la table
reviewablesà la tablepost_actionspour s’assurer que seuls les drapeaux de spam qui ont passé le processus de révision sont comptés. - Filtrage :
post_action_type_id = 8: Restreint aux seuls drapeaux de spam.- Filtrage par plage de dates avec les paramètres spécifiés.
status IN (1, 2): Inclut uniquement les drapeaux qui ont été résolus (approuvés ou rejetés).created_by_id = -1: Inclut uniquement les drapeaux créés par l’utilisateur système (triage IA).
- Agrégations :
total_flags: Le nombre total de drapeaux de spam par le système.approved_flags: Le nombre de drapeaux que les utilisateurs du personnel ont approuvés (statut = 1).rejected_flags: Le nombre de drapeaux que les utilisateurs du personnel ont rejetés (statut = 2).approved_percentage: Le pourcentage de drapeaux qui ont été approuvés.rejected_percentage: Le pourcentage de drapeaux qui ont été rejetés.
Exemple de résultats
| total_flags | approved_flags | rejected_flags | approved_percentage | rejected_percentage |
|---|---|---|---|---|
| 152 | 128 | 24 | 84.21 | 15.79 |