Я пытаюсь выполнить операцию group_by на моей модели рельсов, но, похоже, есть некоторые проблемы. У меня есть модель с именем студент какНевозможно выполнить групповую работу в рельсах активной записи
class CreateStudents < ActiveRecord::Migration
def change
create_table :students do |t|
t.integer :student_id
t.string :department
t.integer :maths
t.integer :physics
t.integer :chemistry
t.string :year
t.timestamps null: false
end
end
end
на рельсы консоли при запуске
s = Student.all.group("date(created_at)")
У меня есть следующее сообщение об ошибке:
ActiveRecord::StatementInvalid: PG::GroupingError: ERROR: column "students.id" must appear in the GROUP BY clause or be used in an aggregate function
LINE 1: SELECT "students".* FROM "students" GROUP BY date(created_at...
^
: SELECT "students".* FROM "students" GROUP BY date(created_at)
Однако, когда я бег
s = Student.all.group("date(created_at)").count
работает успешно.
Я новичок в рельсах.
Rails 4.2.6 рубин 2.3.1
Возможные Дублировать [Link] (http://stackoverflow.com/questions/18061285/postgresql-must-appear-in-the-group-by-clause-or-be -used-in-an-aggregate-functi) –