Using this technique: Report.where("unit_id=? AND id >= ? AND id <= ?", unit_id, report1, report2).sum('distance')
was ultimately the best solution for me, because using find_by_sql and then calling sum on it would behave unexpectedly, like sometimes the sum would have to be invoked twice: find_by_sql(...).sum.sum And I replaced id with time to select within time frame -- 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 rubyonrails-talk@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.