Rails计算从pluck返回的值

时间:2017-10-12 17:35:03

标签: sql ruby-on-rails ruby group-by count

我正在构建一个rails应用程序,我需要创建一些图表。

我正在运行此查询以从用户检索答案:

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

然后查询返回给我:[1, 2, 1, 1, 1]

我想计算这些值并将它们分组如下:{ 1 => 4, 2 => 1 }

我曾尝试使用group by和count但它不能正常工作,我可以手动执行此操作,但我想只使用SQL来实现这一点。

我记得使用group by并使用sql计数,但我不知道如何使用rails执行此操作。

2 个答案:

答案 0 :(得分:6)

您可以here

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

希望它有所帮助!

答案 1 :(得分:1)

试试这个

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