مع الأخذ في الاعتبار أننا قمنا بتثبيت إضافة Discourse Solved بالإضافة إلى إضافة Data Explorer، ما هو الاستعلام اللازم للحصول على عدد الحلول لكل مستخدم؟
عندما يحل مستخدم موضوعًا، يتم إضافة إدخال إلى جدول user_actions مع تعيين action_type إلى 15.
يجب أن يعطيك الاستعلام التالي ما تبحث عنه:
SELECT
user_id,
COUNT(1) AS solved_count
FROM user_actions
WHERE action_type = 15
GROUP BY user_id
ORDER BY solved_count DESC
هذا يعمل! شكرًا جزيلاً!
مرحبًا بك!
لدي سؤال آخر بخصوص هذا الأمر. هل تُحتسب جميع الإجابات من المنشورات العامة بالإضافة إلى تلك التي حددها الشخص كحل أثناء تبادل الرسائل الخاصة مع شخص آخر؟ شكرًا لك على المساعدة!
لا يمكنك تحديد الرسائل الخاصة كحل. هذه إعدادة لكل فئة على حدة.
إذا تم تمكين إعداد الموقع “السماح بتعيين الحلول في جميع المواضيع”، فيمكن تعيين منشورات الرسائل الخاصة كحلول. إذا تم تعيين منشور رسالة خاصة كحل، فسيتم تضمينه في أعداد الحلول التي يتم إرجاعها عبر الاستعلام الذي نشرته.
شكرًا جزيلاً لك يا سيمون على هذه المعرفة!
كمكمل لاستفسار سيمون أعلاه، نستخدم هذا الإصدار لعرض عدد الحلول لكل مستخدم ضمن نطاق زمني محدد (باستخدام تنسيق التاريخ yyyy-mm-dd):
--[params]
-- date :start_date
-- date :end_date
SELECT
user_id,
COUNT(1) AS solved_count
FROM user_actions
WHERE created_at::date BETWEEN :start_date AND :end_date
AND action_type = 15
GROUP BY user_id
ORDER BY solved_count DESC
من المريح القدرة على مراقبة كيف يتغير هذا من شهر إلى آخر.
شكرًا لك يا بن على المشاركة!
شكرًا لكم جميعًا على مشاركة هذه الاستعلامات!
أنا أقوم بإعداد منتدى Discourse الخاص بي، وتساءلت عن كيفية الحصول على متوسط وقت الحل (time_to_resolution) للمنتدى بأكمله، تمامًا مثل متوسط الوقت للاستجابة الأولى (average_time_for_first_response).
هل تعتقد أن من المنطقي من منظور المجتمع توفير هذه المعلومات؟ إذا كانت الإجابة بنعم، فأنا غير متأكد من كيفية صياغة ذلك الاستعلام. هل لديكم أي أفكار؟
شكرًا لكم!
