承認済みソリューションの質問

Shreyas様

共有いただいたクエリを確認したところ、3月以降のデータが表示されず、クエリの数値が「Accepted Solutions Dashboard Report」(https://meta.discourse.org/t/dashboard-report-accepted-solutions/288863)と一致しない理由は、`posts_custom_fields`データベーステーブルを使用しているためです。しかし、Discourse Solvedプラグインは、解決済みのトピックをdiscourse_solved_solved_topicsテーブルで追跡しています。

2025年3月以降、Discourse Solvedプラグインが解決済みのトピックを判断するためにdiscourse_solved_solved_topicsデータベーステーブルを使用するように更新する変更が行われました。このテーブルが、すべての解決済みデータの真の情報源となっています。

以下は、Accepted Solutions Reportと一致し、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月だけでなく)
  • Accepted Solutions Reportと一致する数値(同じ基盤となるデータベーステーブルを使用しているため)
  • PostgreSQLのネイティブ関数を使用した日付フォーマット

お探しのデータが見つかることを願っています!:slightly_smiling_face:

「いいね!」 2