sql >> Databáze >  >> RDS >> Mysql

Nelze vybrat seskupení řádků podle created_at

Myslím, že jste jen trochu zmateni výstupem konzole.

Říkáte toto:

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

takže vrácený Summary instance (zabalené v ActiveRecord::Relation ) nemají žádný z obvyklých Summary atributy:no id , žádné created_at , žádné implemented_featured , atd. Když zavoláte inspect na objektu ActiveRecord vám chce ukázat, co je uvnitř objektu, a to znamená, že vám chce ukázat obsažené databázové atributy; váš Summary instance nemají žádné obvyklé atributy, takže uvidíte věci jako <Summary id: nil> .

Nebojte se, vámi zvolené hodnoty tam skutečně jsou. Pokud řeknete:

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

měli byste vidět date(created_at) as date hodnoty. Pokud přidáte alias pro sum(implemented_features) pak můžete extrahovat součty pomocí tohoto aliasu jako názvu metody.




  1. Jak vypsat tabulky v MySQL a MariaDB

  2. Komprese a její vliv na výkon

  3. Vytvoří omezení UNIQUE automaticky INDEX na poli (polích)?

  4. Jaký datový typ MySQL použít pro ukládání booleovských hodnot