Consulta do Discourse para tempo total de leitura

Quero usar o Discourse Data Explorer para ver os minutos totais de leitura dos meus usuários. Em seguida, poderíamos modificar essa consulta para ver quanto tempo o usuário médio está lendo, o que também seria benéfico.

Isso é possível?

Uma consulta muito rápida e fácil é…

SELECT user_id, time_read FROM user_stats ORDER BY time_read DESC

Isso lhe dá o tempo de leitura de todos os usuários em ordem decrescente de tempo de leitura.

1 curtida

Além disso, há algumas consultas neste tópico que podem ser um bom ponto de partida: Data explorer query to list the longest "estimated read time" topics?.

3 curtidas

é possível obtê-lo por dia em vez de por usuário? como X minutos lidos neste dia

Eu descobri, esta consulta obtém o tempo total gasto por dia:

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

Exemplo no meu fórum:

1 curtida

Eu acho que time_read já está em segundos (então em minutos seria time_read /60 e em horas seria time_read /3600)

Eu acho que se você quisesse ver um gráfico do tempo médio de leitura por usuário por dia dentro de um determinado período, a consulta seria algo assim:

-- [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 curtidas