Sum con where

Compañeros como hago esto pero con rails, utilizando el modelo.

select sum(a), sum(b), sum© from tabla
where campo between 1 and 10;

he visto varios sum, pero ninguno con condicion

gracias

para las condiciones se pone :condition => “campo between 1 and 10”

Modelo.find(:all, :select => “sum(a), sum(b), sum©”, :conditions =>
[“where campo between :min and :max” {:min => 1, :max => 10}])

On Wed, Jul 11, 2007 at 04:06:53PM +0200, Luis V. wrote:

para las condiciones se pone :condition => “campo between 1 and 10”

On 7/11/07, William B. [email protected] wrote:

Compañeros como hago esto pero con rails, utilizando el modelo.

select sum(a), sum(b), sum(c) from tabla
where campo between 1 and 10;

he visto varios sum, pero ninguno con condicion

Hecha un vistazo a la
documentación:
http://api.rubyonrails.org/classes/ActiveRecord/Calculations/ClassMethods.html#M000956

Saludos.

El modelo usa todas las columnas que reciba de la base de datos… si
modificas el :select (que por defecto es “*”) entonces tendras menos
columnas, o columnas diferentes, asi que debes tener cuidado.

modelo = Modelo.find(:all, :select => “sum(a) AS sum_a, sum(b) AS
sum_b, sum© AS sum_c”, :conditions => [“where campo between :min
and :max” {:min => 1, :max => 10}])

modelo.sum_a, modelo.sum_b, etc…

de hecho puedes hacer algo como

:select => “sum(a) AS sum_a, modelos.*”

y tener acceso a las columnas regulares y a las calculadas.

Claro, siempre y cuando tu select, join, group y demas opciones
devuelvan algo razonable.

Hola Sebastian.
gracias por responder.

los resultados los puedo recibir en el mismo modelo? o debo crear otro
tipo de dato?

asi estaria bien ?
modelo = Modelo.find(:all, :select => “sum(a), sum(b), sum©”,
:conditions =>
[“where campo between :min and :max” {:min => 1, :max => 10}])

gracias

Mil Gracias Sebastian, muy clara tu explicación.

saludos

Hola,

tarde pero puedes darle un “refactoring” a tu problema mirando estos
railscasts

“Performing Calculations on Models” => #14 Performing Calculations on Models - RailsCasts

“Fun with Find Conditions” => #15 Fun with Find Conditions - RailsCasts

estan muy buenos, igual que todo lo demás que hay en el sitio.

Sergio Guamán
La Serena
Chile

William B. escribió: