Query Discourse per tempo totale di lettura

Voglio usare Discourse Data Explorer per vedere i minuti totali degli utenti su quanto tempo i miei utenti stanno leggendo. Poi potremmo modificare quella query per vedere quanto tempo legge l’utente medio, il che sarebbe anche utile.

È possibile?

Una query molto rapida e semplice è…

SELECT user_id, time_read FROM user_stats ORDER BY time_read DESC

Questo ti fornisce il tempo di lettura per tutti gli utenti in ordine decrescente di tempo di lettura.

1 Mi Piace

Inoltre, ci sono alcune query in questo argomento che potrebbero essere un buon punto di partenza: Data explorer query to list the longest "estimated read time" topics?.

3 Mi Piace

è possibile ottenerlo per giorno anziché per utente? come X minuti letti in questo giorno

Ho capito, questa query ottiene il tempo totale trascorso per giorno:

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

Esempio nel mio forum:

1 Mi Piace

Penso che time_read sia già in secondi (quindi in minuti sarebbe time_read /60 e in ore sarebbe time_read /3600)

Penso che se volessi guardare un grafico del tempo medio di lettura per utente al giorno entro un dato intervallo di tempo, la query sarebbe simile a questa:

-- [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 Mi Piace