我有一个投票模型和一个放置模型,用于跟踪每个月末员工在投票结束时完成的位置。如何从where语句订购结果
投票模式
create_table "votes", :force => true do |t|
t.integer "phone_id", :limit => 8
t.integer "employee_id"
t.integer "score"
end
安置模式
create_table "placements", :force => true do |t|
t.integer "employee_id"
t.date "month"
t.integer "votes_count", :default => 0
t.integer "position"
t.integer "total_score", :default => 0
end
我可以检索的最多票数顺序展示位置特定月份这样的:
business.placements.where(month: month).order('votes_count desc')
我想要得到的按平均分数排序(而不是大多数选票)。
平均分数可以像这样制定出:
average_score = placement.total_score/placement.votes_count
我怎么会为了我在那里通过AVERAGE_SCORE声明?
你就不能添加的平均分十进制领域,有一个之前保存的位置,然后按该字段排序? –
你有没有试过“Order BY votes_count DESC”? – Rene
@Baloo我可以但我认为这可能是浪费存储的一些方法。但我认为你可能是对的。 – grabury