要获得表格中某列的平均值,我们会执行以下操作:
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
的平均值?
答案 0 :(得分:1)
这是因为平均值的工作方式,它会覆盖您的选择选项,因为它需要返回单个值,即平均值。你可以随时做:
ModelName.average('max_age - min_age')