是否有办法找出在过去30天内发帖最多的人?基本上就是管理员->用户->活跃用户列表,但加上一个月的过滤器?
您好,欢迎 ![]()
此查询应有所帮助:
--[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”日期排序的,而不是按帖子数。![]()
1 个赞
因此,在查找如何运行 SQL 查询时,我需要一个更昂贵的计划插件。由于我们规模很小,我认为 SQL 查询的访问权限不值得花费三倍的成本。所以对我们来说,我想答案是,不行,我们做不到。
用户目录能在此处提供帮助吗?例如:
https://meta.discourse.org/u?order=post_count&period=monthly
它不像数据浏览器查询那样精确,但也许足够了?
您可以选择周期,点击列标题添加排序,按组过滤,甚至使用扳手添加额外列。
1 个赞
哇,我怎么会错过这个?谢谢你,Jammy。 ![]()
1 个赞
谢谢,我不知道我怎么会错过那个。
2 个赞
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.