我们使用分类来跟踪特定主题的动态,并鼓励用户订阅或关注分类,以便他们能迅速通过邮件获取信息。
我们希望衡量这一举措的成效,但似乎找不到查看有多少用户关注某个分类的方法。
这是否可行?即使数据存在于数据库中,只要能提取出来,对我们来说就非常好。
我们使用分类来跟踪特定主题的动态,并鼓励用户订阅或关注分类,以便他们能迅速通过邮件获取信息。
我们希望衡量这一举措的成效,但似乎找不到查看有多少用户关注某个分类的方法。
这是否可行?即使数据存在于数据库中,只要能提取出来,对我们来说就非常好。
我想你可以编写一个数据资源管理器查询。
尝试:
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