views:

29

answers:

1

How can I translate the following SQL query into a named_scope?

select users.*, sum(total_quantity * total_price) as points_spent 
from orders 
join users on users.id = orders.user_id 
where pay_type = 'points' 
group by user_id 
order by points_spent desc

Thanks!

+3  A: 

Try This

class User < ActiveRecord::Base

    named_scope :your_name, 
                :select=>" users.*,sum(total_quantity * total_price) as points_spent",       
                :joins => :orders, 
                :conditions => ['pay_type = ?', 'points'], 
                :group ="user_id ", 
                :order=>'points_spent desc'

end
Salil