我有桌面'游戏',想要选择我想要的团队中最高的输赢。
我有这样的表:
ID team1 team2 score1 score2
1 KVA PLZ 8 5
2 MLB KVA 0 8
3 PLZ SPA 0 6
4 SPA MLB 5 2
5 KVA SPA 3 5
6 PLZ MLB 7 1
两个例子:
1)我想选择团队'KVA'的最高胜利,然后我想得到这一行:
ID team1 team2 score1 score2
2 MLB KVA 0 8
2)我想选择团队'PLZ'的最大损失,然后我想得到:
ID team1 team2 score1 score2
3 PLZ SPA 0 6
要求:
感谢您的帮助。
答案 0 :(得分:0)
基本方法是按分数差异进行排序,然后按第二列进行排序。这有点复杂,因为团队可以在任何一个团队列中。
KVA的最高胜利:
Select
*
From
games
Where
team1 = 'KVA' Or
team2 = 'KVA'
Order By
Case When team1 = 'KVA' Then score1 - score2 else score2 - score1 end Desc,
Case When team1 = 'KVA' then score1 else score2 end
Limit 1
最高PLZ损失
Select
*
From
games
Where
team1 = 'PLZ' Or
team2 = 'PLZ'
Order By
Case team1 when 'PLZ' Then score2 - score1 else score1 - score2 end Desc,
Case team1 when 'PLZ' then score2 else score1 end
Limit 1