See who viewed topic

Tenho uma consulta do Data Explorer para isso (que mostra o nome de usuário para habilitar funcionalidades como CSV, grupos e mensagens privadas):

-- Quem visualizou este tópico? https://meta.discourse.org/t/see-who-viewed-topic/29277/11
-- [params]
-- int :topic_id
SELECT tu.user_id, u.username, total_msecs_viewed/1000 AS segundos_visualizados
FROM topic_users tu
JOIN users u ON tu.user_id = u.id
WHERE tu.topic_id = :topic_id
    AND total_msecs_viewed > 0
GROUP BY tu.user_id, u.username, tu.total_msecs_viewed
ORDER BY tu.total_msecs_viewed desc

Se for aceitável no seu contexto revelar endereços de e-mail, sugiro usar esta consulta em vez:

-- Quem visualizou este tópico? Com e-mails. https://meta.discourse.org/t/see-who-viewed-topic/29277/11
-- [params]
-- int :topic_id
SELECT tu.user_id, email, total_msecs_viewed/1000 AS segundos_visualizados
FROM topic_users tu
JOIN user_emails ue ON tu.user_id = ue.user_id
WHERE tu.topic_id = :topic_id
    AND total_msecs_viewed > 0
GROUP BY tu.user_id, ue.email, tu.total_msecs_viewed
ORDER BY tu.total_msecs_viewed desc