هل هناك طريقة لمعرفة عدد المتابعين لفئة معينة؟

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

نرغب في قياس نجاح هذه المبادرة، لكننا لا نستطيع إيجاد طريقة لمعرفة عدد المستخدمين الذين يتابعون تصنيفًا معينًا.

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

أتخيل أنك تستطيع كتابة استعلام لاستكشاف البيانات.

جرّب:

SELECT c.id as ID,
c.name as NAME, 
cu.notification_level as NOTIFICATION_LEVEL,
CASE cu.notification_level
WHEN 0 THEN 'مُخْتَمِت' 
WHEN 1 THEN 'عادي' 
WHEN 2 THEN 'تتبع'
WHEN 3 THEN 'مراقبة'
WHEN 4 THEN 'مراقبة أول منشور' END as NOTIFICATION_LEVEL_DESC,
COUNT(cu.id) as COUNT_OF_TYPE
FROM category_users cu
JOIN categories c ON cu.category_id = c.id
GROUP BY c.id, c.name, cu.notification_level, notification_level_desc
ORDER BY c.name, cu.notification_level

شكرًا لك @merefield، لقد حصلت على 90% مما كنت أحتاجه، وتمكنت من تعديل جملة SQL الخاصة بك لتناسب احتياجاتي على النحو التالي:

SELECT c.name as NAME, 
COUNT(cu.id) as subscribers
FROM category_users cu
JOIN categories c ON cu.category_id = c.id
WHERE 
    c.name LIKE '%Announcements%'
    AND
    (cu.notification_level = 2 
    OR 
    cu.notification_level = 3 
    OR 
    cu.notification_level = 4)
GROUP BY c.id, c.name
ORDER BY subscribers DESC, c.name