У меня есть таблица author_comments с полями author_name, comment и идентификатором бренда.
Я хотел бы получить количество (количество) записей, в которых автор имеет более N (2) записей для данногоbrand.
Например,
author_comments
author_name comment brand
joel "loves donuts" 1
joel "loves cookies" 1
joel "loves oranges" 1
fred "likes bananas" 2
fred "likes tacos" 2
fred "likes chips" 2
joe "thinks this is cool" 1
sally "goes to school" 1
sally "is smart" 1
sally "plays soccer" 1
В этом случае мой запрос должен вернуть 2 для бренда 1 и 1 для бренда 2.
Я заинтересован в наиболее эффективном варианте здесь, не получая все записи из БД и не просматривая их в ruby, я могу это сделать.Я ищу лучший способ, используя активные конструкции записей или sql.
Обновление: вот SQL:
SELECT author_name, COUNT(*) AS author_comments
FROM fan_comments
WHERE brand_id =269998788
GROUP BY author_name
HAVING author_comments > 2;
Должен ли я просто сделать find_by_sql?