Consulta de Soluciones Aceptadas

Hola, estoy usando la siguiente consulta para verificar las soluciones aceptadas este mes. Sin embargo, no veo datos posteriores a marzo. Además, estos números no coinciden con lo que se muestra en el Informe de soluciones aceptadas. ¿Podrían orientarme sobre lo que estoy haciendo 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

Hola Shreyas,

Al ver la consulta que has compartido, la razón por la que no ves datos posteriores a marzo y por la que los números en tu consulta no coinciden con el Informe del Panel de Soluciones Aceptadas es que estás utilizando la tabla de base de datos posts_custom_fields, sin embargo, el plugin Discourse Solved rastrea las soluciones aceptadas utilizando la tabla discourse_solved_solved_topics.

A partir de marzo de 2025, hubo un cambio que actualizó el plugin Discourse Solved para usar la tabla de base de datos discourse_solved_solved_topics para determinar los temas resueltos en tu sitio de Discourse, y esta tabla es ahora la fuente de verdad para todos los datos de soluciones.

Aquí tienes una versión corregida de tu consulta que coincidirá con el Informe de Soluciones Aceptadas y te mostrará datos para 2025.

Soluciones aceptadas por mes para 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

Los resultados de esta consulta incluirán:

  • Todos los meses de 2025 que tengan soluciones aceptadas (no solo marzo)
  • Números que coinciden con el Informe de Soluciones Aceptadas porque utiliza la misma tabla de base de datos subyacente
  • Formato de fecha utilizando las funciones nativas de PostgreSQL

¡Espero que esto te ayude a encontrar los datos que buscas! :slightly_smiling_face:

2 Me gusta

¡Gracias @SaraDev! Esto es útil. Revisaré la salida de esta consulta una vez que pueda obtener discourse_solved_solved_topics en Snowflake para consultar.