我有一個投票模型和一個放置模型,用於跟蹤每個月末員工在投票結束時完成的位置。如何從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