Thanks this certainly helps.  Any reason in particular why you don't 
recommend getting aggregates in the same query?

Things I need so far as is results like:

Win Count
Loss Count
Draw Count
Win %
Home Wins %
Away Wins %
Scoring Average

The list goes on and on and into nested models in the game:

Thanks

Marnen Laibow-Koser wrote in post #965775:
> Cameron Caine wrote in post #965772:
>> Hello
>>
>> I have few typical models:
>>
>> class Team < AR::Base
>>   has_many :games
>> end
>>
>> class Game < AR::Base
>>   belongs_to :team
>>   has_many :events
>> end
>>
>> etc..
>>
>> When I list the team.games I want to be able to aggregate some of the
>> data (games won, lost etc).  I could do this using scopes, but there are
>> so many different calculations it would result in a lot of queries.
>>
>> As I am already fetching all the team games in one DB call, should I be
>> doing the calculations using just plain ruby on the fly, or even on the
>> client side using JSON/JS?  Or is it better in fact to push everything
>> through SQL.
>
> Use SQL as it was meant to be used!  The DB can do the aggregate
> calculations faster than Rails could.  You can even have the aggregates
> returned in the same query with everything else (though I'm not sure I'd
> advise that).
>
> ActiveRecord::Calculations provides a nice interface to SQL aggregate
> functions (at least in Rails 2 -- Arel may take care of this in Rails
> 3).
>
>>
>> I'm not sure of the best plan of attack to do these calculations given
>> that they could well involve pulling data from the children of each game
>> as well (e.g events).
>
> What are the calculations that you currently need?
>>
>> Many thanks in advance for any insight.  I am pulling my hair out here!
>>
>> Cameron
>
> Best,
> --
> Marnen Laibow-Koser
> http://www.marnen.org
> [email protected]

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

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to