您好 Shreyas,
查看您分享的查询,您之所以看不到三月之后的数据,并且查询中的数字与 Accepted Solutions Dashboard Report 不符,是因为您使用的是 posts_custom_fields 数据库表,而 Discourse Solved 插件使用 discourse_solved_solved_topics 表来跟踪已接受的解决方案。
2025 年 3 月起,一项更改 更新了 Discourse Solved 插件,使用 discourse_solved_solved_topics 数据库表来确定您 Discourse 网站上的已解决主题,该表现在是所有解决方案数据的真实来源。
以下是您查询的更正版本,它将与 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 年所有有已接受解决方案的月份(不仅仅是三月)
- 与 Accepted Solutions Report 匹配的数字,因为它使用的是相同的底层数据库表
- 使用 PostgreSQL 的原生函数进行日期格式化
希望这能帮助您找到所需的数据!![]()