Rails 3活动记录计算:同时求和和平均值

时间:2011-01-20 11:17:31

标签: ruby-on-rails activerecord

有没有办法让activerecord同时计算sumquery的平均值?

例如,我想做这样的事情 - 这不起作用!

Person.group("gender").count.average("age")

然后回来

Gender Count Average Age

Male     32    13.5

Female   26    14.7

1 个答案:

答案 0 :(得分:6)

Person.select('gender, count(*) as count, avg(age) as avg').
       group('gender').
       order('count DESC').
       each do |p|
  puts "#{p.gender} #{p.count} #{p.avg}"
end

不是很蛮漂亮,但仍然,不是太难看。