Discourse 总阅读时间查询

我想使用 Discourse Data Explorer 来查看用户总阅读时长。然后,我们可以修改该查询,以查看平均用户阅读时长,这也会很有益。

这可能吗?

一个非常快速且简单的查询是…

SELECT user_id, time_read FROM user_stats ORDER BY time_read DESC

这将为您提供所有用户的阅读时间,按阅读时间降序排列。

1 个赞

此外,此主题中还有一些查询可以作为良好的起点:https://meta.discourse.org/t/data-explorer-query-to-list-the-longest-estimated-read-time-topics/196761。

3 个赞

是否可以按天而不是按用户获取?例如,某天阅读 X 分钟。

我明白了,这个查询可以获取每天花费的总时间:

SELECT visited_at, SUM(time_read * 60) AS total_user_secs
FROM user_visits
GROUP BY visited_at
ORDER BY visited_at

我在论坛中的示例:

1 个赞

我认为 time_read 已经是秒了(所以分钟是 time_read /60,小时是 time_read /3600

我认为,如果您想查看给定时间范围内用户每天平均阅读时间的图表,查询将如下所示:

-- [params]
-- date :start_date
-- date :end_date

SELECT 
    visited_at, 
    ROUND(AVG(time_read/60),2)::float AS total_minutes
FROM user_visits
WHERE visited_at BETWEEN :start_date AND :end_date
GROUP BY visited_at
ORDER BY visited_at

4 个赞