Student.find_by_sql(" select student_id, sum(case status when "Approved" then 1 else 0 end) as approve_count, sum(case status when "Rejected" then 1 else 0 end) as reject_count from assignments group by student_id")
が一番いいと思われ 辺にARのメソッドでやろうとするとそういうのはかえって面倒くさい