Foo.group(:start_at).count(:id)
Come posso raggruppare per data? la colonna "start_at" è una colonna datetimerotaie 3 gruppo per data una colonna datetime
Foo.group(:start_at).count(:id)
Come posso raggruppare per data? la colonna "start_at" è una colonna datetimerotaie 3 gruppo per data una colonna datetime
Questo dovrebbe funzionare (binari 3):
Foo.order(:start_at).group("DATE(start_at)").count
edit: se si sta utilizzando PostgreSQL, la query dovrebbe essere
Foo.order("DATE(start_at)").group("DATE(start_at)").count
o 'll ottenere un errore
("PGError: ERROR: column "foos.start_at" must appear in the GROUP BY clause or be used in an aggregate function")
sulla base
01.235.Graphing new users by date in a Rails app using Seer
e
http://www.pastbedti.me/2009/11/grouping-a-timestamp-field-by-date-in-ruby-on-rails-postgresql/
ho creato un gioiello per questo. https://github.com/ankane/groupdate
Foo.group_by_day(:created_at).count
È anche possibile specificare un fuso orario.
Foo.group_by_day(:created_at, time_zone: "Pacific Time (US & Canada)").count
Questo non funziona senza accesso ai fusi orari mysql sul server. Una sfida con AWS – Abram
Una dipendenza piuttosto grande, se si sta usando mysql, è stata per me un problema. – jahrichie
Mi stai prendendo in giro? grande dipendenza? il suo 54kb decompresso –