Pål Bergström wrote:
How do I find the all records that are the latest from each user, by
user_id? I’m trying to get an :average working but I can’t solve it.
This is my find:
Dada.average(:column_with_nr, :conditions => [“created_at > ?”,
@date.to_s(:db)], :order => ‘created_at’, :select => ‘DISTINCT user_id’)
:order => ‘created_at desc’, :limit => 1, :group => ‘user_id’
What also helps is to read your log, find your select statement, stick
an editor, edit it, stick it into MySQL, and see what it does. Repeat
works, then either retrofit it into your .average() statement, or just
count_by_sql on the raw SELECT.
As a style thing, there’s no harm in calling a raw SELECT statement from
so long as you don’t go basing your whole architecture on it!