我目前正在寻找目标最多的玩家:
Player.joins(:player_stats).group('players.id').order('SUM(player_stats.goals) DESC')
但是现在我想按每场比赛的目标排序,这是他们所有目标(player_stats.goals)的总和除以他们所玩的比赛数(players_stats.length)。使用order()进行排序时,是否可以像这样进行算术?
注意:我正在使用mySQL数据库。
答案 0 :(得分:1)
我认为沿着这些方向会有所作为:
Player.joins(:player_stats)
.group('players.id')
.order('(SUM(player_stats.goals) / COUNT(player_stats.player_id)) DESC')