Hallo, ich verwende die folgende Abfrage, um akzeptierte Lösungen in diesem Monat zu überprüfen. Allerdings sehe ich keine Daten nach März. Außerdem stimmen diese Zahlen nicht mit denen überein, die im Bericht über akzeptierte Lösungen angezeigt werden. Könnten Sie mir hierbei helfen, was ich falsch mache?
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
Wenn man sich die von Ihnen geteilte Abfrage ansieht, liegt der Grund, warum Sie keine Daten nach März sehen und die Zahlen in Ihrer Abfrage nicht mit dem Bericht „Accepted Solutions Dashboard Report“ übereinstimmen, darin, dass Sie die Datenbanktabelle posts_custom_fields verwenden. Das Discourse Solved-Plugin verfolgt jedoch akzeptierte Lösungen in der Tabelle discourse_solved_solved_topics.
Ab März 2025 gab es eine Änderung, die das Discourse Solved-Plugin aktualisierte, um die Datenbanktabelle discourse_solved_solved_topics zur Bestimmung gelöster Themen auf Ihrer Discourse-Website zu verwenden. Diese Tabelle ist nun die einzige Quelle für alle Lösungsdaten.
Hier ist eine korrigierte Version Ihrer Abfrage, die mit dem Bericht „Accepted Solutions Report“ übereinstimmt und Ihnen Daten für 2025 anzeigt.
Akzeptierte Lösungen nach Monat für 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
Die Ergebnisse dieser Abfrage umfassen:
Alle Monate im Jahr 2025, die akzeptierte Lösungen haben (nicht nur März)
Zahlen, die mit dem Bericht „Accepted Solutions Report“ übereinstimmen, da er dieselbe zugrunde liegende Datenbanktabelle verwendet
Datumsformatierung mit den nativen Funktionen von PostgreSQL
Ich hoffe, das hilft Ihnen, die gesuchten Daten zu finden!
Danke @SaraDev! Das ist hilfreich. Ich werde die Ausgabe dieser Abfrage überprüfen, sobald ich discourse_solved_solved_topics in Snowflake abfragen kann.