Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Zeilengruppierung nach created_at kann nicht ausgewählt werden

Ich glaube, Sie sind nur ein wenig verwirrt von der Konsolenausgabe.

Du sagst das:

Summary.select("date(created_at) as date, sum(implemented_features)")...

also die zurückgegebene Summary Instanzen (verpackt in einer ActiveRecord::Relation ) haben keine der üblichen Summary Attribute:keine id , kein created_at , kein implemented_featured usw. Wenn Sie inspect aufrufen Bei einem ActiveRecord-Objekt möchte es Ihnen zeigen, was sich im Objekt befindet, und das bedeutet, dass es Ihnen die enthaltenen Datenbankattribute anzeigen möchte. Ihre Summary Instanzen haben keine der üblichen Attribute, daher sehen Sie Dinge wie <Summary id: nil> .

Keine Angst, die von Ihnen ausgewählten Werte sind wirklich vorhanden. Wenn Sie sagen:

Summary.select(...).map(&:date)

Sie sollten das date(created_at) as date sehen Werte. Wenn Sie einen Alias ​​für sum(implemented_features) hinzufügen dann können Sie die Summen extrahieren, indem Sie diesen Alias ​​als Methodennamen verwenden.