在rails应用程序中使用.average和rubip中的.pluck?
在我的应用程序中,我想看到我的用户的平均纸张使用重量,它注册到Heavy
类。
user
模型has_many :papers
和paper
模型belongs_to :user
这是我到目前为止所得到的: @heavy_users_testing = User.where(industry_type: 'Heavy').joins(:papers).where("papers.paper_type = 'Officepaper'").pluck(:paper_weight)
我不知道在哪里可以使用active record .average
来获取Heavy类别用户的平均Officepaper权重?
有人可以告诉我吗?
你可以在pluck
使用sql avg
函数
@heavy_users_testing = User.where(industry_type: 'Heavy') .joins(:papers) .where(papers: { paper_type: 'Officepaper' } ) .pluck('avg(paper_weight)')
如果您想要/需要EACH用户的平均值,您需要做一个group
@heavy_users_testing = User.where(industry_type: 'Heavy') .joins(:papers) .where(papers: { paper_type: 'Officepaper' } ) .group(:user_id) .pluck('avg(paper_weight)')