استعلام عن الحلول المقبولة

مرحباً، أنا أستخدم الاستعلام التالي للتحقق من الحلول المقبولة هذا الشهر. ومع ذلك، لا أرى بيانات تتجاوز شهر مارس. بالإضافة إلى ذلك، لا تتطابق هذه الأرقام مع ما هو معروض في تقرير الحلول المقبولة. هل يمكنني الحصول على بعض الإرشادات هنا حول ما أفعله بشكل خاطئ؟

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

مرحباً شرياس،

بالنظر إلى الاستعلام الذي شاركته، فإن سبب عدم رؤيتك للبيانات بعد مارس وأن الأرقام في استعلامك لا تتطابق مع تقرير لوحة معلومات الحلول المقبولة هو أنك تستخدم جدول قاعدة البيانات posts_custom_fields، ومع ذلك، يتتبع المكون الإضافي Discourse Solved الحلول المقبولة في جدول discourse_solved_solved_topics.

اعتبارًا من مارس 2025، كان هناك تغيير قام بتحديث المكون الإضافي Discourse Solved لاستخدام جدول قاعدة البيانات discourse_solved_solved_topics لتحديد المواضيع المحلولة على موقع Discourse الخاص بك، وهذا الجدول هو الآن مصدر الحقيقة لجميع بيانات الحلول.

إليك نسخة مصححة من استعلامك والتي ستتطابق مع تقرير الحلول المقبولة، وستعرض لك بيانات لعام 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 التي تحتوي على حلول مقبولة (وليس فقط مارس)
  • أرقام تتطابق مع تقرير الحلول المقبولة لأنه يستخدم نفس جدول قاعدة البيانات الأساسي
  • تنسيق التاريخ باستخدام وظائف PostgreSQL الأصلية

آمل أن يساعدك هذا في العثور على البيانات التي تبحث عنها! :slightly_smiling_face:

إعجابَين (2)

شكراً @SaraDev! هذا مفيد. سأتحقق من مخرجات هذا الاستعلام بمجرد أن أتمكن من الحصول على discourse_solved_solved_topics في Snowflake للاستعلام.