有没有办法可以查询数据库,只返回根据设定变量连续(及时)发生的元素?
具体来说,我需要了解用户连续赢了多少次游戏。游戏存储在具有属性win_loss的数据库中(1是胜利,0是失败)。
我想看看用户是否连续赢了3场比赛。有没有办法在数据库中执行此操作?
如果没有,它在应用程序中会是什么样子?
如果这令人困惑,我提前道歉。请提出问题,我会尽力清理。我正在使用Ruby on Rails。答案 0 :(得分:2)
我会采取不同的方法。我会在您的用户模型中添加一列continuous_wins(如果您需要,负数也可能代表连续损失)。
编辑:如果您确实需要查询...
两个问题:
SELECT max(created_at) AS newest, win_loss FROM games GROUP BY win_loss
中(我不记得现在如何在Rails中进行分组功能,但你应该明白) created_at > newest_win AND created_at > newest_lose
我建议将列添加到用户模型中,当您需要显示游戏玩家的整个表格以及他们的连续获胜/失败时,它会更好。