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

Jon*_*ght 6 activerecord ruby-on-rails

有没有办法让activerecord同时计算suma和平均值query

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

Person.group("gender").count.average("age")
Run Code Online (Sandbox Code Playgroud)

然后回来

Gender Count Average Age

Male     32    13.5

Female   26    14.7
Run Code Online (Sandbox Code Playgroud)

noo*_*odl 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
Run Code Online (Sandbox Code Playgroud)

不是很舔漂亮,但仍然,不是太难看.