J'ai un modèle Mail
avec le schéma suivant:comptage et le regroupement en même temps
t.string "mail"
t.integer "country"
t.boolean "validated"
t.datetime "created_at"
t.datetime "updated_at"
Et je veux trouver les 5 premiers pays dans la base de données, donc j'aller de l'avant et de type
@top5 = Mail.find(:all,:group => 'country',:conditions => [ "validated = ?" , "t" ], :limit => 5)
Cela me dire les groupes (i besoin d'un ordre par je ne sais pas comment écrire)
@top5 = Mail.count(:all,:group => 'country',:conditions => [ "validated = ?" , "t" ], :limit => 5)
Cela me dire combien de mails sont dans chaque groupe
Im se demandant si je peux groupe et compter en un aller
vrai doit être utilisé au lieu de 't' – Swards
@airportyh Rails API dit que ActiveRecord.find est obsolète (http://apidock.com/rails/ActiveRecord/Base/find/class). Connaissez-vous la meilleure façon de faire cela sur Rails 3? – dcarneiro
@Daniel: J'y ai pensé avant mais j'y regarde de près: il est dit "déplacé ou déprécié" et en fait il a été déplacé vers ActiveRecord :: FinderMethods # find. (Je crois que vous êtes toujours supposé appeler Mail.find pour accéder à cette méthode dans son nouvel emplacement.) – antinome