Rails 콘솔 명령어

일반적인 select, where, sort, limit 쿼리는 제가 직접 작성하지만, 그보다 복잡한 쿼리는 이제 AI에게 맡기고 있습니다. AI에게 이렇게 요청했습니다:

특정 카테고리를 표시한 뒤, 해당 카테고리에서 가장 많은 주제를 시작한 상위 5명의 사용자와 그들이 시작한 주제 수를 보여주는 쿼리를 작성해 줘

그리고 AI는 즉시 다음을 반환했습니다(이것은 Discourse가 아닌 DB입니다):

WITH TopTopicStarters AS (
    SELECT
        c.id AS category_id,
        c.name AS category_name,
        u.name AS user_name,
        COUNT(t.id) AS num_topics_started,
        ROW_NUMBER() OVER(PARTITION BY c.id ORDER BY COUNT(t.id) DESC) AS rank
    FROM topics t
    JOIN categories c ON t.category_id = c.id
    JOIN users u ON t.user_id = u.userid
    GROUP BY c.id, u.name
)

SELECT 
    c.category_name,
    tts.user_name,
    tts.num_topics_started
FROM categories c
JOIN TopTopicStarters tts ON c.id = tts.category_id
WHERE tts.rank <= 5;

구글링을 많이 하고 시행착오를 겪지 않고서는 제가 이 쿼리를 만들어 낼 수 없었을 겁니다!