수락된 솔루션 쿼리

Shreyas님,

공유해 주신 쿼리를 살펴보니, 3월 이후의 데이터가 표시되지 않고 쿼리의 숫자가 수락된 솔루션 대시보드 보고서와 일치하지 않는 이유는 posts_custom_fields 데이터베이스 테이블을 사용하고 있기 때문입니다. 그러나 Discourse Solved 플러그인은 discourse_solved_solved_topics 테이블을 사용하여 수락된 솔루션을 추적합니다.

2025년 3월 기준으로, Discourse Solved 플러그인이 Discourse 사이트에서 해결된 토픽을 결정하기 위해 discourse_solved_solved_topics 데이터베이스 테이블을 사용하도록 업데이트하는 변경 사항이 있었습니다. 이제 이 테이블이 모든 솔루션 데이터의 단일 정보 원본(source of truth)이 되었습니다.

수락된 솔루션 보고서와 일치하고 2025년 데이터를 표시하도록 수정된 쿼리 버전은 다음과 같습니다.

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

이 쿼리의 결과에는 다음이 포함됩니다:

  • 수락된 솔루션이 있는 2025년의 모든 달 (3월만 포함되지 않음)
  • 동일한 기본 데이터베이스 테이블을 사용하기 때문에 수락된 솔루션 보고서와 일치하는 숫자
  • PostgreSQL의 네이티브 함수를 사용한 날짜 형식화

찾고 계신 데이터를 찾는 데 도움이 되기를 바랍니다! :slightly_smiling_face: