我在RoR中获得了以下模型:
rails g model MyTable col1:string col2:integer
然后我添加了以下数据:
col1|col2
a__ |7__
a__ |3__
b__ |5__
b__ |2__
我想按col1分组,得到每组的col2之和。我做了以下事情:
data = MyTable.all
data2 = data.select("col1, SUM(col2) as col2_all").group("col1")
第二行提供以下SQL:
SELECT col1, SUM(col2) as col2_all FROM "my_tables" GROUP BY "my_tables"."col1"
但我得到的输出看起来并不正确:
<ActiveRecord::Relation [#<MyTable id: nil, col1: "a">, #<MyTable id: nil, col1: "b">]>
我似乎没有像我预期的那样得到col2_all。
我做错了什么?
答案 0 :(得分:2)
MyTable.group(:col1).sum(:col2)
答案 1 :(得分:1)
我非常确定,如果col2_all不是MyTable模型的属性,那么您将无法看到它。
这有用吗?
MyModel.group(:col1).sum(:col2)