2011-01-20 8 views
6

क्या sum और query की औसत गणना करने के लिए Activerecord प्राप्त करने का कोई तरीका है?रेल 3 सक्रिय रिकॉर्ड गणना: एक ही समय में योग और औसत

उदाहरण के लिए मैं ऐसा कुछ करना चाहता हूं - जो काम नहीं करता है!

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

और वापस

Gender Count Average Age 

Male  32 13.5 

Female 26 14.7 

उत्तर

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 

काफी lickably सुंदर नहीं है लेकिन अभी भी, नहीं भी fugly मिलता है।

संबंधित मुद्दे