如何在数据资源管理器中获取每位用户的解决方案数量?

考虑到我们已安装了 Discourse Solved 插件以及 Data Explorer 插件,获取每位用户解决方案数量的查询语句是什么?

1 个赞

当用户解决一个主题时,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
9 个赞

太好了!非常感谢!

你好!

关于这一点,我还有一个问题。它是否统计公开帖子中的所有回答,以及在与某人进行私信交流时对方标记为解决方案的回答?感谢帮助!

您无法将私信标记为已解决。这是一个按类别设置的选项。

2 个赞

私人消息线程中的一条回复被标记为解决方案。这是否也计入该用户的解决方案数量?

如果启用了“允许在所有主题中标记解决方案”的站点设置,私信帖子可以被标记为解决方案。如果私信帖子被标记为解决方案,它将包含在我发布的查询所返回的解决方案计数中。

3 个赞

非常感谢你提供的这些知识,Simon!

作为对 Simon 上方查询的补充,我们使用此版本来查看特定日期范围内(使用 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

能够按月查看这一数据的变化非常实用。

5 个赞

谢谢 Ben 的分享!

1 个赞

感谢大家分享这些查询!

我正在搭建自己的 Discourse 论坛,想知道如何计算整个论坛的平均解决时间(time_to_resolution),就像计算平均首次响应时间(average_time_for_first_response)那样。

从社区运营的角度来看,您认为提供这类信息有意义吗?如果有意义,我不确定该如何构建相应的查询。有什么建议吗?

谢谢!