选择最大值为一个属性的记录,该属性作用于Rails中的另一个属性

时间:2016-06-21 14:57:14

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

我们有User型号表:

group_id|posts|...
1       |5    |...
1       |20   |...
2       |7    |...
1       |15   |...
3       |10   |...
3       |12   |...

我们有Group模型,has_many :users

我想选择Group User,帖子最高的帖子范围为group_id

在JOIN中只有一个User非常重要,因为稍后我会WhereChain建立基于User和{{1}的过滤集合的Group }。

由于

1 个答案:

答案 0 :(得分:4)

 posts = User.group(:group_id).maximum(:posts)
 Group.joins(:users).where(users: {posts: posts.values})