我目前正在寻找进球最多的球员:
Player.joins(:player_stats).group('players.id').order('SUM(player_stats.goals) DESC')
但是现在我想按每场比赛的进球数排序,即他们所有进球数的总和 (player_stats.goals) 除以他们打过的比赛数 (players_stats.length)。使用 order() 排序时是否可以像这样进行算术运算?
注意:我正在使用 mySQL 数据库。
最佳答案
我认为沿着这些思路做的事情会做:
Player.joins(:player_stats)
.group('players.id')
.order('(SUM(player_stats.goals) / COUNT(player_stats.player_id)) DESC')
关于mysql - 基于计算的订单记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39925661/