ActiveRecord - 聚合的平均值

时间:2013-11-18 11:48:18

标签: sql ruby-on-rails ruby activerecord

要获得表格中某列的平均值,我们会执行以下操作:

ModelName.average(:age)

我想获得聚合的平均值,例如:

ModelName.select('(max_age - min_age) as age_range').average(:age_range)

执行上述操作时,出现Mysql2::Error: Unknown column 'age_range' in 'field list'错误。如何获得age_range的平均值?

1 个答案:

答案 0 :(得分:1)

这是因为平均值的工作方式,它会覆盖您的选择选项,因为它需要返回单个值,即平均值。你可以随时做:

ModelName.average('max_age - min_age')
相关问题