Discourse Data Explorer を使用して、ユーザーが読んでいる合計時間(ユーザーごとの合計時間)を確認したいと考えています。その後、そのクエリを変更して、平均ユーザーがどれくらいの時間読んでいるかを確認することも有益でしょう。
これは可能でしょうか?
Discourse Data Explorer を使用して、ユーザーが読んでいる合計時間(ユーザーごとの合計時間)を確認したいと考えています。その後、そのクエリを変更して、平均ユーザーがどれくらいの時間読んでいるかを確認することも有益でしょう。
これは可能でしょうか?
非常に簡単で素早いクエリは…
SELECT user_id, time_read FROM user_stats ORDER BY time_read DESC
これにより、すべてのユーザーの読書時間が、読書時間の降順で表示されます。
また、このトピックには、以下を良い出発点とすることができるクエリがいくつかあります: Data explorer query to list the longest "estimated read time" topics?
ユーザーごとではなく、日ごとに取得することは可能ですか?例えば、その日にX分読んだ、といった具合です。
わかりました。このクエリは、日ごとの合計滞在時間を取得します。
SELECT visited_at, SUM(time_read * 60) AS total_user_secs
FROM user_visits
GROUP BY visited_at
ORDER BY visited_at
私のフォーラムでの例:
time_read はすでに秒単位であるため、分単位では time_read /60、時間単位では time_read /3600 になると思います。
指定された期間における、ユーザーごとの1日あたりの平均読書時間のグラフを表示したい場合、クエリは次のようになります。
-- [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