J'ai cinq tables: utilisateurs, intérêts, animaux, interests_animals, interests_users.rails ordre de groupe par compte
utilisateur foo
Intérêts 1, 2, 3
animaux 1, 2, 3
foo a des intérêts 1, 2, 3
Intérêts 1 a animale 1, 2 Intérêt 2 a Animal 1, 2, 3 Intérêt 3 a Animal 3
J'ai besoin de retour tout animal s par des intérêts regroupés pour id d'intérêt de foo commandé par les animaux comptent
J'essaie comme ceci:
SELECT animals.* FROM animals
INNER JOIN interests_animals ON animals.id = interests_animals.animal_id
INNER JOIN interests ON interests_animals.interest_id = interests.id
INNER JOIN interests_users ON interests.id = interests_users.interest_id
WHERE interests_users.user_id = XXX
GROUP BY animals.id
ORDER BY COUNT(interests_animals.animal_id);
J'ai besoin que les animaux sont retournés dans les commandes 2, 1, 3, mais toujours revenir 1,2 3
vous êtes l'homme! –