class Visitor
has_many :sessions
end
class Session
belongs_to :visitor
belongs_to :site
end
class Site
has_many :sessions
end
Mi piacerebbe essere in grado di ottenere il numero di visitatori di un sito per ogni giorno. Dal momento che un visitatore non è direttamente associato a un sito, ma una sessione è, ho bisogno di ottenere tutte le sessioni per un determinato sito, gruppo per giorno, quindi raggruppare per visitor_id. Ecco alcuni dati di esempio (in ordine di created_at ASC):: gruppo di giorno e un'altra colonna
visitor_id site_id created_at
6 3 2011-09-27
6 3 2011-09-27
7 3 2011-09-27
2 3 2011-09-29
7 3 2011-09-29
Idealmente, vorrei vedere che il 09/27 ci sono stati 2 visitatore unico, e il 29/9 c'erano anche 2 visitatori unici. Ho provato questo:
Session.group('date(created_at)').group('visitor_id').size
Ma ho questa in cambio (che non è corretto):
# => {Tue, 27 Sep 2011=>3, Thu, 29 Sep 2011=>2}
Grazie ragazzi!
Eventuali duplicati di http://stackoverflow.com/questions/1241352/rails-group-by-multiple-columns – Kelly