sql >> Base de Datos >  >> RDS >> Mysql

No se puede seleccionar la agrupación de filas por created_at

Creo que estás un poco confundido por la salida de la consola.

Estás diciendo esto:

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

por lo que el Summary devuelto instancias (envuelto en un ActiveRecord::Relation ) no tienen ninguno de los habituales Summary atributos:sin id , sin created_at , no implemented_featured , etc. Cuando llamas a inspect en un objeto ActiveRecord, quiere mostrarle lo que hay dentro del objeto y eso significa que quiere mostrarle los atributos de la base de datos contenidos; tu Summary las instancias no tienen ninguno de los atributos habituales, por lo que verá cosas como <Summary id: nil> .

No temas, los valores que seleccionaste realmente están ahí. Si dices:

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

deberías ver la date(created_at) as date valores. Si agrega un alias para sum(implemented_features) luego puede extraer las sumas usando ese alias como nombre de método.