sql >> Databasteknik >  >> RDS >> Mysql

Det går inte att välja radgruppering efter create_at

Jag tror att du bara är lite förvirrad av konsolutgången.

Du säger så här:

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

så den returnerade Summary instanser (inpackade i en ActiveRecord::Relation ) inte har någon av de vanliga Summary attribut:inget id , ingen created_at , ingen implemented_featured , etc. När du ringer inspect på ett ActiveRecord-objekt vill det visa dig vad som finns inuti objektet och det betyder att det vill visa dig de inkluderade databasattributen; din Summary instanser har inte några av de vanliga attributen så du ser saker som <Summary id: nil> .

Var inte rädd, de värden du valt finns verkligen där. Om du säger:

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

du bör se date(created_at) as date värden. Om du lägger till ett alias för sum(implemented_features) sedan kan du extrahera summorna genom att använda det aliaset som ett metodnamn.




  1. SQL:Välj endast kolumner med NULL-värden

  2. Hur man manuellt ställer in seed value som 1000 i MySQL

  3. Kan ett bord ha två främmande nycklar?

  4. Hur övervakar jag SQL Server-tabelländringar med c#?