I'd like to know if there is a way to use ActiveRecord to do this. Thx
On Dec 7, 2:01 pm, yajiri <[EMAIL PROTECTED]> wrote: > Are us suggesting find_by_sql? > > On Dec 7, 1:48 pm, Frederick Cheung <[EMAIL PROTECTED]> > wrote: > > > On 7 Dec 2008, at 19:37, yajiri wrote: > > > > Hi everyone. > > > > I'm trying to SUM the places of the first 5 finishers in a Cross > > > Country running event. In a Cross Country race the team score is > > > based upon the sum of the top 5 runners on your team. The lowest team > > > score at the competition wins. > > > > I have EVENTS(the race), PARTICIPANTS(the runner), and > > > EVENT_PARTICIPANTS(a runner in a race). > > > > Within event_participant I have this code, which doesn't work as it > > > adds places beyond the 5th runner. > > > > def self.score_5 > > > self.calculate(:sum, :finish_place, :order > > > => :finish_place, :limit => 5) > > > end > > > > It appears that the LIMIT is ignored or is applied after the > > > summation. > > > It's applied after (so if you did select sum(foo) from bars limit 5 > > then you'd only get 5 rows back). > > Something like > > SELECT sum(finish_place) from > > (SELECT * from some_table order by finish_place limit 5) as > > sub_select > > > should do it. > > > Fred > > > > Any suggestions? --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---

