【发布时间】:2020-05-28 14:50:51
【问题描述】:
我正在努力寻找解决方案,但我找不到解决办法。
我正在插入游戏中的杀戮,我正在记录杀手、他的部落、受害者和受害者的部落,所以我的数据库看起来像这样,
killer | killerClan | victim | victimClan
-----------------------------------------
User_A | Team_A | User_B | Team_B
User_C | Team_B | User_A | Team_A
User_B | Team_B | User_A | Team_A
User_D | Team_A | User_C | Team_B
User_C | Team_B | User_A | Team_A
User_B | Team_B | User_D | Team_A
User_D | Team_A | User_C | Team_B
同一用户可以显示为杀手或受害者,这取决于他是杀死某人还是被某人杀死。
我可以显示特定部落的用户总击杀数,
SELECT killer AS username, COUNT(killer) AS kills FROM master_tracker
WHERE killerClan = "Team_A"
GROUP BY killer
ORDER BY kills DESC
按照同样的逻辑,我可以显示特定部落用户的总死亡人数,
SELECT victim AS username, COUNT(victim) AS deaths FROM master_tracker
WHERE victimClan = "Team_A"
GROUP BY victim
ORDER BY deaths DESC
但是......我想要做的是结合这两个查询并按用户的名称显示用户的杀戮和死亡组,这可以在第一种情况下的 killer 列中找到,victim 列在第二种情况下,因此最终能够显示他们的杀戮/死亡比率,但我需要不同的 WHERE 原因,因为在第一种情况下,他们的氏族可以找到为 killerClan 并在第二种情况是victimClan。
目标是得到这样的结果。
username | kills | deaths | kdRatio
-----------------------------------
User_D | 2 | 1 | 1
User_A | 1 | 3 | -2
欢迎所有建议。
【问题讨论】: