Wir verwenden diese in meiner Community, um die aktivsten Benutzer in den letzten 30 Tagen zu sehen.
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