가장 많은 다이렉트 메시지(간격)

주어진 기간 동안 가장 많은 메시지를 보낸 사용자 상위 10개 목록입니다.

-- [params]
-- string :interval = 1 WEEK

SELECT 
    user_id, 
    COUNT(*)
FROM chat_messages
WHERE created_at::date > CURRENT_DATE - INTERVAL :interval
GROUP BY user_id
ORDER BY COUNT(*) DESC
LIMIT 10