如何找到过去一个月最活跃的用户

是否有办法找出在过去30天内发帖最多的人?基本上就是管理员->用户->活跃用户列表,但加上一个月的过滤器?

您好,欢迎 :wave:

此查询应有所帮助:

--[params]
--date :start_date = 2024-01-01
--date :end_date = 2024-02-01
--int :top = 10

SELECT
    u.id AS user_id,
    COUNT(*) Count
FROM posts AS p
INNER JOIN users AS u on p.user_id = u.id
INNER JOIN topics AS t ON t.id = p.topic_id AND t.deleted_at ISNULL
WHERE p.created_at::date BETWEEN :start_date AND :end_date
    AND p.deleted_at ISNULL
    AND t.archetype = 'regular'
    AND p.post_type = 1
GROUP BY u.id, u.username
ORDER BY Count DESC
LIMIT :top

我相信这里的“活跃”用户是按“最后 seen at”日期排序的,而不是按帖子数。:thinking:

1 个赞

因此,在查找如何运行 SQL 查询时,我需要一个更昂贵的计划插件。由于我们规模很小,我认为 SQL 查询的访问权限不值得花费三倍的成本。所以对我们来说,我想答案是,不行,我们做不到。

用户目录能在此处提供帮助吗?例如:

https://meta.discourse.org/u?order=post_count&period=monthly

它不像数据浏览器查询那样精确,但也许足够了?

您可以选择周期,点击列标题添加排序,按组过滤,甚至使用扳手添加额外列。

1 个赞

哇,我怎么会错过这个?谢谢你,Jammy。 :smile:

1 个赞

谢谢,我不知道我怎么会错过那个。

2 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.