[Ror-es] ¿Cómo agrupo por más de una columna?

Jean Droguett ruby-forum-incoming at andreas-s.net
Tue Apr 17 04:45:58 GMT 2007


Hola

¿Cómo puedo agrupar por más de una columna?

Si agrupo sólo por una columna

@horas = Actividad.sum(:acti_esfuerzo, :group => :proyecto)

el sql que resulta es:

SELECT sum(acti_esfuerzo) AS sum_acti_esfuerzo, proyecto_id AS
proyecto_id FROM actividad GROUP BY proyecto_id

donde puedo buscar de esta forma:

for proyecto in @proyectos
    @horas[proyecto.proyecto_id]


pero si quiero agrupar por dos columnas:

@horas = Actividad.sum(:acti_esfuerzo, :group => 'proyecto_id,
acti_fecha')

el sql que resulta es:

SELECT sum(acti_esfuerzo) AS sum_acti_esfuerzo, proyecto_id, acti_fecha
AS proyecto_id_acti_fecha FROM actividad GROUP BY proyecto_id,
acti_fecha

noten el alias "proyecto_id, acti_fecha AS proyecto_id_acti_fecha"
dentro del select

donde @horas == [["2007-04-02", 14.8], ["2007-03-08", 0.5],
["2007-04-03", 15.3], ["2007-01-04", 6.75]]

¿Por qué en el resultado no aparece el proyecto_id?

-- 
Posted via http://www.ruby-forum.com/.


More information about the Ror-es mailing list