Questa query SQL fornisce statistiche sui flag di spam segnalati dall’automazione Discourse AI - AI triage. Calcola il numero totale di flag, quanti sono stati approvati o rifiutati e le percentuali corrispondenti. Questo report è utile per comprendere l’efficacia del rilevamento automatico dello spam sul tuo 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 per spam (Segnala come spam e nascondi post)
AND r.created_at BETWEEN :start_date AND :end_date
AND r.status IN (1, 2) -- Flag accettati e rifiutati
AND r.created_by_id = -1 -- ID utente di sistema
Spiegazione della query SQL
- Parametri: Parametri
:start_datee:end_datein formatoAAAA-MM-GGcon valori predefiniti. - Join: Collega la tabella
reviewablescon la tabellapost_actionsper garantire che vengano conteggiati solo i flag di spam che sono passati attraverso il processo di revisione. - Filtraggio:
post_action_type_id = 8: Limita solo ai flag di spam.- Filtraggio per intervallo di date con i parametri specificati.
status IN (1, 2): Include solo i flag che sono stati risolti (approvati o rifiutati).created_by_id = -1: Include solo i flag creati dall’utente di sistema (AI triage).
- Aggregazioni:
total_flags: Il numero totale di flag di spam da parte del sistema.approved_flags: Conteggio dei flag che gli utenti dello staff hanno approvato (stato = 1).rejected_flags: Conteggio dei flag che gli utenti dello staff hanno rifiutato (stato = 2).approved_percentage: Percentuale di flag che sono stati approvati.rejected_percentage: Percentuale di flag che sono stati rifiutati.
Esempio di risultati
| total_flags | approved_flags | rejected_flags | approved_percentage | rejected_percentage |
|---|---|---|---|---|
| 152 | 128 | 24 | 84.21 | 15.79 |