我有一个名为Game的表格,它在nhl季节中充满了来自所有游戏的单个玩家statlines。我在这里关注的领域是本赛季球员第n场比赛的games_played。 和名字是玩家的名字。如何获得轨道查询中每个组的最后第n条记录
本质上我想弄清楚如何抓住每个球员的第nth最后一场比赛。
例如我知道下面的查询可以得到我的最后一场比赛对每个球员
Game.group(:name).having('games_played = MAX(games_played)')
然而,当我尝试以下方法(可以说,n为10)
Game.group(:name).having('games_played=MAX(games_played)-10')
我没有得到任何结果
而且事实上如果我明确地做了类似于
Game.group(:name).having('games_played=16')
我只得到玩过16场比赛的球员的最后一场比赛,而不是所有球员的第16场比赛。 (我猜这解释了以前的查询没有结果)
我该如何去获得每个玩家的最后一场比赛?
这是甚至正确的方式来查询此?我也有一个玩家表,玩家拥有多个游戏,一个游戏属于一个玩家。我应该利用这一点吗?
你能解释一下**第n个最后一个**吗? – Pavan
你有没有考虑过'take'功能?例如。将'.take(n).last'添加到查询的末尾? –
@Pavan,最后一位我指的是在最近一场比赛之前的n-1场比赛。所以倒数第二次是最近的第二场比赛,倒数第10次是最近的第10场比赛。我想为每个不同的玩家获得该游戏。 – user3692508