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