Query Soluzioni Accettate

Ciao, sto usando la seguente query per verificare le soluzioni accettate questo mese. Tuttavia, non vedo dati oltre marzo. Inoltre, questi numeri non corrispondono a quanto mostrato nel report sulle soluzioni accettate. Potrei avere una guida su cosa sto sbagliando?

SELECT DISTINCT 
YEAR(p.created_at), MONTH(p.created_at), 
count(distinct(p.topic_id))
    FROM posts p
    JOIN posts_custom_fields pcf ON pcf.post_id = p.id
    WHERE (pcf.name = 'is_accepted_answer' AND pcf.value = 'true') AND YEAR(p.created_at) = 2025
    GROUP BY 1,2

Ciao Shreyas,

Guardando alla query che hai condiviso, il motivo per cui non vedi dati oltre marzo e i numeri nella tua query non corrispondono al Dashboard Report Soluzioni Accettate è che stai utilizzando la tabella del database posts_custom_fields, tuttavia, il plugin Discourse Solved traccia le soluzioni accettate utilizzando la tabella discourse_solved_solved_topics.

A partire da marzo 2025, c’è stata una modifica che ha aggiornato il plugin Discourse Solved per utilizzare la tabella del database discourse_solved_solved_topics per determinare gli argomenti risolti sul tuo sito Discourse, e questa tabella è ora la fonte di verità per tutti i dati delle soluzioni.

Ecco una versione corretta della tua query che corrisponderĂ  al Report Soluzioni Accettate e ti mostrerĂ  i dati per il 2025.

Soluzioni accettate per mese per il 2025

SELECT 
    EXTRACT(YEAR FROM p.created_at) AS year,
    EXTRACT(MONTH FROM p.created_at) AS month,
    TO_CHAR(p.created_at, 'Month') AS month_name,
    COUNT(DISTINCT dst.topic_id) AS solutions_count
FROM discourse_solved_solved_topics dst
JOIN posts p ON p.id = dst.answer_post_id
WHERE p.created_at >= '2025-01-01' AND p.created_at < '2026-01-01'
GROUP BY 1, 2, 3
ORDER BY year, month

I risultati di questa query includeranno:

  • Tutti i mesi del 2025 che hanno soluzioni accettate (non solo marzo)
  • Numeri che corrispondono al Report Soluzioni Accettate perchĂ© utilizza la stessa tabella di database sottostante
  • Formattazione della data utilizzando le funzioni native di PostgreSQL

Spero che questo ti aiuti a trovare i dati che stai cercando! :slightly_smiling_face:

2 Mi Piace

Grazie @SaraDev! Questo è utile. Controllerò l’output di questa query una volta che potrò recuperare discourse_solved_solved_topics in Snowflake per l’interrogazione.