Rails 3 группа по дате столбец datetime Foo.group(:start_at).count(:id) Как я могу группировать это по дате? столбец "start_at" является столбцом datetime Ответ 1 Это должно работать (рельсы 3): Foo.order(:start_at).group("DATE(start_at)").count edit: если вы используете PostgreSQL, запрос должен быть Foo.order("DATE(start_at)").group("DATE(start_at)").count или вы получите сообщение об ошибке ("PGError: ERROR: column "foos.start_at" must appear in the GROUP BY clause or be used in an aggregate function") Основываясь на Графирование новых пользователей по дате в приложении Rails с использованием провизора и http://www.pastbedti.me/2009/11/grouping-a-timestamp-field-by-date-in-ruby-on-rails-postgresql/ Ответ 2 Я создал для этого камень. https://github.com/ankane/groupdate Foo.group_by_day(:created_at).count Вы даже можете указать часовой пояс. Foo.group_by_day(:created_at, time_zone: "Pacific Time (US & Canada)").count
Ответ 1 Это должно работать (рельсы 3): Foo.order(:start_at).group("DATE(start_at)").count edit: если вы используете PostgreSQL, запрос должен быть Foo.order("DATE(start_at)").group("DATE(start_at)").count или вы получите сообщение об ошибке ("PGError: ERROR: column "foos.start_at" must appear in the GROUP BY clause or be used in an aggregate function") Основываясь на Графирование новых пользователей по дате в приложении Rails с использованием провизора и http://www.pastbedti.me/2009/11/grouping-a-timestamp-field-by-date-in-ruby-on-rails-postgresql/
Ответ 2 Я создал для этого камень. https://github.com/ankane/groupdate Foo.group_by_day(:created_at).count Вы даже можете указать часовой пояс. Foo.group_by_day(:created_at, time_zone: "Pacific Time (US & Canada)").count