sql >> Database >  >> RDS >> Mysql

Kan rijen groeperen niet selecteren op created_at

Ik denk dat je een beetje in de war bent door de console-output.

Je zegt dit:

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

dus de geretourneerde Summary instanties (verpakt in een ActiveRecord::Relation ) geen van de gebruikelijke Summary . hebben attributen:geen id , geen created_at , nee implemented_featured , enz. Wanneer u inspect call belt op een ActiveRecord-object wil het je laten zien wat er in het object zit en dat betekent dat het je de database-attributen wil laten zien; uw Summary instanties hebben geen van de gebruikelijke kenmerken, dus u ziet dingen als <Summary id: nil> .

Vrees niet, de waarden die je hebt geselecteerd zijn er echt. Als je zegt:

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

je zou de date(created_at) as date waarden. Als u een alias toevoegt voor de sum(implemented_features) dan kun je de sommen extraheren door die alias als methodenaam te gebruiken.




  1. Voeg meerdere rijen in één tabel in op basis van het aantal in een andere tabel

  2. mysql slaat automatisch tijdstempel voor het maken van records op

  3. Wat doet ::in PostgreSQL?

  4. Hoe u de ANSI_NULLS-instelling van uw sessie in SQL Server kunt controleren?