了解关注者数量

我想我刚开始测试该平台时就提出了这个问题。
是否会有办法了解有多少人订阅(关注)某个特定主题?
最近我越来越常被问到这个信息。

2 个赞

这似乎不太可能作为对非管理员可见的功能被添加。

用户自由选择如何浏览论坛的自由至关重要,而通过让“关注话题”的数量对所有人可见来给予特殊考虑,很可能会引发不良行为模式(“数字增长综合征”非常强大)。

如果您收到的请求来自版主或员工,您应该能够创建一个获取此类数据的 Data Explorer 查询,并将其标记为供版主或员工运行。

3 个赞

我们绝不会希望非管理员遇到这种情况。我将与德国同事一起测试此方案。

2 个赞

Discourse 的报告中是否曾添加过此功能?

这个有更新吗?

嗨 Tom,

这并未被添加为默认的 DE 报告。不过,我找到了一个提供基本 DE 查询以提取此信息的帖子,也许会有帮助:

2 个赞

马克,你好:

谢谢。那么,从这里来看,我无法在主题级别执行此功能。这是正确的吗?

汤姆,

不,您可以通过将“topic”替换为“category”来在主题级别获取该信息,如下所示:

SELECT 
  COUNT(topic_id)
FROM 
  topic_users 
WHERE 
  notification_level = 3

同样,这是一个非常基本的查询,它只返回来自……在这种情况下……所有主题的观察者总数。如果您想指定一个特定主题,可以添加到 WHERE 子句中,例如:

WHERE 
  notification_level = 3
  AND topic_id = 29
8 个赞

太棒了!

谢谢!

1 个赞

这非常有帮助,谢谢 @MarkDoerr。我修改了查询,以便一次性报告所有四个通知级别,并在需要时接受 topic_id 数组。
完整的网格输出表虽然不好看,但包含了所有我需要的信息。

编辑:我刚发帖,Discourse 就很贴心地显示了六个解决此问题的其他链接!继续查询!

SELECT 
  topic_id,
  notification_level,
  COUNT(CASE WHEN notification_level = 0 THEN topic_id END) AS Muted_0,
  COUNT(CASE WHEN notification_level = 1 THEN topic_id END) AS Normal_1,
  COUNT(CASE WHEN notification_level = 2 THEN topic_id END) AS Tracking_2,
  COUNT(CASE WHEN notification_level = 3 THEN topic_id END) AS Watching_3
FROM 
  topic_users 
WHERE 
  topic_id IN (9831, 9572, 9424, 7567) --在此处添加您的 topic_ids
GROUP BY
  topic_id, notification_level
1 个赞