-2
我想获得我对阵的前5名对手。MySQL - 获得前5名的对手
的表是如下
USERS :
user_id name email
1 : Gait Bakker : [email protected]
2 : Freek ter Bekke : [email protected]
3 : Jan Zomer : [email protected]
4 : Mick Dundee : [email protected]
5 : Sjoerd Trekhaar : [email protected]
GAMES :
game_id type training **created_by started_by **opponent_id won_by date
1 1 1 2 2 4 2 2015-08-10
2 1 1 5 2 2 5 2015-08-10
3 1 1 4 4 2 4 2015-08-10
3 1 1 2 3 3 3 2015-08-10
问题是与领域**,它需要数前5位的对手。
我能成为游戏的创造者(CREATED_BY)和我可以是opponent_id(别人开始游戏)。
不过,如果我是对手,我对阵另一名球员。
编辑 请使用user-id = 2例如。
随着更多:培训需求为1和won_by IS NOT NULL(需要待补缺)
结果SQL 大多数交手的对手
user_id = 4, count = 2
user_id = 3, count = 1
user_id = 5, count = 1
因此,这意味着我打得最反对用户ID 4,然后USER_ID = 3和USER_ID = 5
标准前5推导
Logon_ID
? – jarlh如果你喜欢,可以考虑下列行为这个简单的两步过程:1.如果您还没有这样做,提供适当的DDL(和/或sqlfiddle),这样我们可以更容易复制的问题。 2.如果您还没有这样做,提供与在步骤1提供 – Strawberry
@Strawberry的信息与期望的结果集:使用USER_ID = 2,但每一个登录的用户拥有另一个用户ID。 – PostMans