Un membro del nostro forum Discourse ha chiesto se Discourse ha un modo per mostrare/riconoscere i giorni consecutivi di visita o di pubblicazione in un forum Discourse. Non vedo queste informazioni da nessuna parte nelle informazioni utente dell’amministratore, sono conservate da qualche parte?
A titolo informativo, reddit ha questa funzionalità.
Beh, sì, ci sono badge come Enthusiast, Aficionado e Devotee che sono per giorni consecutivi di visita. Visitato = mi è piaciuto un post/risposto una volta, se non ricordo male.
Probabilmente puoi creare una query per l’esplorazione dei dati. Ecco lo schema della tabella user_visits qui:
magari qualcosa del genere?
WITH consecutive_visits AS (
SELECT
user_id,
visited_at,
visited_at - INTERVAL '1 day' * ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY visited_at) AS grp
FROM
user_visits
),
visit_streaks AS (
SELECT
user_id,
COUNT(*) AS streak_length
FROM
consecutive_visits
GROUP BY
user_id, grp
)
SELECT
user_id,
MAX(streak_length) AS longest_streak
FROM
visit_streaks
GROUP BY
user_id
ORDER BY
longest_streak DESC
LIMIT 100
o forse potresti combinarla con la tabella user_actions (visite con like e post?), che si trova qui: