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
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)
Grazie @SaraDev! Questo è utile. Controllerò l’output di questa query una volta che potrò recuperare discourse_solved_solved_topics in Snowflake per l’interrogazione.