我正在尝试根据模型中的第二个变量计算模型中变量的加权平均值,但我无法通过 ActiveRecord 找到方法。
class Employer < ActiveRecord::Base
attr_accessible :name, :number_of_employees, :average_age
def self.wt_avg_age
#return sum(number_of_employee * average_age)/sum(number_of_employees)
end
end
在直接 SQL 中,我会使用:
SELECT id, SUM(number_of_employees*average_age)/SUM(number_of_employees)
FROM employer
GROUP BY name
我能否以雄辩的方式在 ActiveRecord 关系上执行类似的操作(即,无需拉下单独的数组并遍历每条记录以获取我的分子)?我尝试了使用 .select()、.pluck() 和 sum() 的不同组合,但没有任何运气。我无法让 ActiveRecord 对象执行 sumproduct。