Ich versuche, Group_by-Operation auf meinem Schienenmodell durchzuführen, aber es scheint ein Problem zu geben. Ich habe ein Modell namens Schüler alsGruppe kann nicht in aktiven Schienensatz ausgeführt werden
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
auf Schienen Konsole, wenn ich
s = Student.all.group("date(created_at)")
betreibe ich den folgenden Fehler haben:
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)
Allerdings, wenn ich laufen
s = Student.all.group("date(created_at)").count
es läuft erfolgreich.
Ich bin neu in Schienen.
Rails 4.2.6 Rubin 2.3.1
Mögliche Duplizieren [Link] (http://stackoverflow.com/questions/18061285/postgresql-must-appear-in-the-group-by-clause-or-be -used-in-aggregate-functi) –