Consulta de Discourse sobre el tiempo total de lectura

Quiero usar Discourse Data Explorer para ver los minutos totales de usuario de cuánto tiempo están leyendo mis usuarios. Luego podríamos modificar esa consulta para ver cuánto tiempo está leyendo el usuario promedio, lo que también sería beneficioso.

¿Es esto posible?

Una consulta muy rápida y sencilla es…

SELECT user_id, time_read FROM user_stats ORDER BY time_read DESC

Eso te da el tiempo de lectura de todos los usuarios en orden descendente del tiempo de lectura.

1 me gusta

Además, hay algunas consultas en este tema que podrían ser un buen punto de partida: Data explorer query to list the longest "estimated read time" topics?.

3 Me gusta

¿Es posible obtenerlo por día en lugar de por usuario? como X minutos leídos este día

Lo descubrí, esta consulta obtiene el tiempo total dedicado por día:

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

Ejemplo en mi foro:

1 me gusta

Creo que time_read ya está en segundos (así que en minutos sería time_read /60 y en horas sería time_read /3600)

Creo que si quisieras ver un gráfico del tiempo promedio de lectura por usuario por día dentro de un período determinado, la consulta se vería algo así:

-- [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 Me gusta