我有两个型号
class User < ActiveRecord::Base
has_many :tests
end
class Test <ActiveRecord::Base
belongs_to :user
end
我需要按测试分数的总和对所有用户进行排序,仅限过去7天。
我一直在使用:
User.joins(:tests).group(:user_id).order("sum(tests.score) DESC")
如何按照最后7天的create_at测试得分对用户进行排序?
答案 0 :(得分:2)
试试这个
User.joins(:tests).where('tests.created_at >= ?', 1.week.ago).group(:user_id).order("sum(tests.score) DESC")