tengo un modelo Mail
con el siguiente esquema:Contar y agrupar a la vez
t.string "mail"
t.integer "country"
t.boolean "validated"
t.datetime "created_at"
t.datetime "updated_at"
Y quieren encontrar los 5 mejores países de la base de datos, por lo que seguir adelante y tipo
@top5 = Mail.find(:all,:group => 'country',:conditions => [ "validated = ?" , "t" ], :limit => 5)
Esto me va a decir a los grupos (i necesita una orden de no sé cómo se escribe)
@top5 = Mail.count(:all,:group => 'country',:conditions => [ "validated = ?" , "t" ], :limit => 5)
Esto me dirá cuántos mensajes hay en cada grupo
Im pregunto si puedo grupo y contar en tan sólo una sola vez
verdadera se debe utilizar en lugar de 't' – Swards
@airportyh rieles API dice que ActiveRecord.find está en desuso (http://apidock.com/rails/ActiveRecord/Base/find/class). ¿Conoces la mejor manera de hacer esto en Rails 3? – dcarneiro
@Daniel: Lo he pensado antes pero miro de cerca: dice "movido o en desuso" y en realidad se ha movido a ActiveRecord :: FinderMethods # find. (Creo que todavía se supone que debes llamar a Mail.find para acceder a este método en su nueva ubicación). – antinome