Usamos este em minha comunidade para ver os usuários mais ativos nos últimos 30 dias.
SELECT
u.username,
COUNT(c.*) AS cnt
FROM
chat_messages AS c
LEFT JOIN users AS u ON c.user_id = u.id
WHERE c.created_at >= CURRENT_TIMESTAMP - INTERVAL '30 days'
GROUP BY u.username
ORDER BY cnt DESC