Как узнать, как долго пользователь просматривал тему, кто создал новые темы и из какой страны пользователи

Предполагаю, что у вас установлен Data Explorer.

Кажется, это можно получить из post_timings:

select topic_id,
       count(user_id) users,
       round(sum(msecs/(60*1000.0)),2)/count(user_id) avg_minutes
from post_timings
group by topic_id
order by avg(msecs) desc

Стоит отметить, что это включает только зарегистрированных пользователей. Возможно, вам стоит использовать Google Analytics, чтобы получить данные обо всех читателях.

Не совсем уверен, какие именно данные вы ищете. Вот как найти первое сообщение каждого пользователя:

select p.id post_id
from posts p
where p.id = (select min(id) from posts where user_id = p.user_id)

Добавьте and post_number = 1, если хотите найти пользователей, которые начали с создания новой темы, а не с ответа на существующую. Не уверен, поможет ли это.

Пользователи могут указать своё местоположение, которое иногда можно определить как страну:

select user_id, location
from user_profiles

По моему опыту, люди обычно не утруждают себя этим. Поэтому Google Analytics может оказаться полезнее.

Также в таблице users есть поле ip_address, которое можно использовать для определения местоположения.