Ruby on rails 3 Rails活动记录联接查询

Ruby on rails 3 Rails活动记录联接查询,ruby-on-rails-3,activerecord,Ruby On Rails 3,Activerecord,请帮助我回答下一个问题: 我有表品牌和表产品(有很多-属于协会) 在表products中,我有字段“Rank” 我想展示其产品总排名前五名的品牌——最大的 我尝试: Brand.joins(:products).order('products.rank DESC').limit(10).uniq! 但这是不正确的-这不是乘积的总和 如何重新调整产品等级总和您很接近,但您错过了分组和对分组对象执行总和的机会: Brand.joins(:products).group("brands.id").o

请帮助我回答下一个问题:

我有表
品牌
和表
产品
有很多-属于协会

在表products中,我有字段“
Rank

我想展示其产品总排名前五名的品牌——最大的

我尝试:

Brand.joins(:products).order('products.rank DESC').limit(10).uniq!
但这是不正确的-这不是乘积的总和


如何重新调整产品等级总和

您很接近,但您错过了分组和对分组对象执行总和的机会:

Brand.joins(:products).group("brands.id").order('SUM(products.rank) DESC').limit(5)

错误:列引用“id”不明确//使用SQL=>选择“品牌”。*从“品牌”内部加入“产品”中的“产品”。“品牌id”=“品牌”。“id”按id分组(此id)按总和排序(products.rank)谢谢,这是我的错。我的错误=)