按计数获得一组的总和

时间:2016-07-01 23:03:32

标签: ruby-on-rails ruby-on-rails-4 rails-activerecord

所以请想象我有这个sql表: 用户:

id |名字|城市

1 | name1 | city1

2 | name2 |城2

3 | name3 | city1

4 | name4 |请分享帮助

所以到目前为止,在我的控制器中执行此操作:

componentDidMount

并在我看来做了类似的事情:

@cities = User.group(:city).count 

我明白了:

city1(2)

city2(1)

city3(1)

我现在需要的是添加一行,将每个城市的数量相加:

全部(4)

我不想为此创建一个新的SQL查询,因为我非常确定有更简洁的方法来执行此操作。

我希望我很清楚,谢谢!

1 个答案:

答案 0 :(得分:5)

除非您自己制作一些奇特的SQL,否则您无法在单个SQL查询中执行此操作。如果性能不是问题,我会在控制器上聚合:

counts = User.group(:city).count
total = counts.values.sum