Мы используем этот запрос в нашем сообществе, чтобы увидеть самых активных пользователей за последние 30 дней.
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