Rails计数和组以返回计数和值

时间:2013-08-10 06:45:41

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

使用Ruby 1.9.3。

假设这个例子,MySQL中的简单表“cars”

id | Model
1  |  Ford
2  |  Ford
3  |  Mini

如果我运行此查询:

select count(*),model from cars group by model;

我会得到

count(*) | model
2        |  Ford
1        |  Mini

显示数据库中的两个条目的模型为“Ford”,一个条目的模型为“Mini”。

我无法弄清楚如何在rails中获取该查询的结果(除了使用直接SQL加载数组等)。假设一个名为“Car”的模型用于表“cars”,我尝试了类似

的东西
Car.find(:all, :select => 'count(*),model', :group => 'model')"

但这只是返回模型,而不是匹配计数。

我正在寻找一种干净的方法来收集所有的数量和数量。来自“cars”表的模型信息,不需要使用完整的直接SQL,然后展平生成的数组以理解它。优雅的东西。 :)

(如果这个问题已经有答案,请告诉我它在哪里。我已经搜索了一段时间,所有问题似乎都不适合我的账单)

1 个答案:

答案 0 :(得分:1)

也许这可以帮到你:

Car.all.group(:model).count

这里有其他可能有用的答案: rails 3 group by and sum