2

使用 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.find(:all, :select => 'count(*),model', :group => 'model')"

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

我正在寻找一种干净的方法来从“汽车”表中收集所有计数和模型信息,不需要使用完整的直接 SQL,然后将结果数组展平以使其有意义。优雅的东西。:)

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

4

1 回答 1

1

也许这可以帮助你:

Car.all.group(:model).count

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

于 2014-03-19T17:00:52.813 回答