Requête de solutions acceptées

Bonjour, j’utilise la requête suivante pour vérifier les solutions acceptées ce mois-ci. Cependant, je ne vois pas de données après mars. De plus, ces chiffres ne correspondent pas à ce qui est indiqué dans le rapport sur les solutions acceptées. Pourriez-vous me guider sur ce que je fais de mal ?

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

Salut Shreyas,

En regardant la requête que tu as partagée, la raison pour laquelle tu ne vois pas de données après mars et que les chiffres de ta requête ne correspondent pas au Rapport du tableau de bord des solutions acceptées est que tu utilises la table de base de données posts_custom_fields, alors que le plugin Discourse Solved suit les solutions acceptées dans la table discourse_solved_solved_topics.

En mars 2025, un changement a mis à jour le plugin Discourse Solved pour utiliser la table de base de données discourse_solved_solved_topics afin de déterminer les sujets résolus sur ton site Discourse, et cette table est maintenant la source de vérité pour toutes les données de solutions.

Voici une version corrigée de ta requête qui correspondra au Rapport des solutions acceptées et te montrera les données pour 2025.

Solutions acceptées par mois pour 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

Les résultats de cette requête incluront :

  • Tous les mois de 2025 qui ont des solutions acceptées (pas seulement mars)
  • Des chiffres qui correspondent au Rapport des solutions acceptées car il utilise la même table de base de données sous-jacente
  • Le formatage des dates à l’aide des fonctions natives de PostgreSQL

J’espère que cela t’aidera à trouver les données que tu recherches ! :slightly_smiling_face:

2 « J'aime »

Merci @SaraDev ! C’est utile. Je vérifierai la sortie de cette requête une fois que j’aurai pu obtenir discourse_solved_solved_topics dans Snowflake pour interroger.