2017-10-12 11 views
0

Je construis une application rails, et j'ai besoin de créer des graphiques.Rails compte les valeurs renvoyées par pluck

Je suis en cours d'exécution de cette requête pour récupérer les réponses de l'utilisateur:

quiz = Quiz.select("answer1").where(completed: true).pluck(:answer1) 

Et retourne la requête pour moi ceci: [1, 2, 1, 1, 1]

Je veux compter les valeurs et les groupes comme celui-ci: { 1 => 4, 2 => 1 }

J'ai essayé d'utiliser group by et count mais ça ne marche pas, je pourrais le faire manuellement mais je voulais juste utiliser SQL pour y arriver.

Je me souviens d'utiliser group by et count en utilisant sql, mais je ne suis pas sûr de savoir comment faire cela en utilisant des rails.

Répondre

4

Vous pouvez group('answer1') comme décrit here

Quiz.where(completed: true).group('answer1').count 

Hope it aidé!

1

Essayez celui

Quiz.where(completed: true).group(:answer1).count(:answer1)