J'ai une table author_comments avec un champs nom d'auteur, commentaire et identifiant de marque.Rails ActiveRecord distinct nombre d'attribut supérieur au nombre d'occurrences
Je voudrais obtenir le nombre (nombre) d'enregistrements où l'auteur a plus de N (2) enregistrements pour une marque donnée.
Par exemple,
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
Dans ce cas, ma requête doit retourner 2 pour la marque 1 et 1 pour la marque 2.
Je suis intéressé par l'option la plus performante ici , ne recevant pas tous les enregistrements de la DB et les triant à travers ruby, je peux le faire. Je suis à la recherche de la meilleure façon d'utiliser des constructions d'enregistrements actifs ou sql.
Mise à jour: Voici le SQL:
SELECT author_name, COUNT(*) AS author_comments
FROM fan_comments
WHERE brand_id =269998788
GROUP BY author_name
HAVING author_comments > 2;
dois-je faire juste find_by_sql?