我試圖建立一個基於選票的排行榜(上Ruby on Rails的)建立一個排行榜與先前現在的位置差異,如排名第二(+6)
我沒有排名和增量值。 我的表有300〜記錄
post id, votes, ranking, increment
1, 22, 1, +3
2, 16, 2, -1
3, 13, 3, +6
4, 7, 4, -2
我很困惑如何建立增量部分一樣,許多職位怎麼還是基於以前的現在的位置上去了。
我想知道我該如何構建這個 我應該使用一個每日/每小時運行的cron
作業,根據投票更新排名增量嗎?
如何計算排名和增量?我應該有prev_ranking列而不是增量嗎?
感謝
樣本是否太大以至用戶'.sort'?在新排名後,按平均排名排序。 – miler350
嗨,謝謝,我實際上試圖計算排名和prev排名..任何想法如何寫一個sql來計算基於投票欄? – Federico
在這種情況下,我認爲以前的排名效果很好。然後只是比較兩列。邏輯會更簡單。在你的控制器中,當投票被觸發時。使用當前索引更新以前的排名列。然後,添加新的投票。然後排序。然後根據新索引添加更新當前排名欄。比較。 – miler350