我们有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
}。
由于
答案 0 :(得分:4)
posts = User.group(:group_id).maximum(:posts)
Group.joins(:users).where(users: {posts: posts.values})