目前我有一个包含2个表的数据库。
db.playerstats
PlayerUID | PlayerKills
123456 | 10
234567 | 20
345678 | 33
和
db.playerinfo
UID | Name
123456 | Tom
234567 | Joe
345678 | Alex
我需要使用PlayerKills
表格中玩家的Name
获取playertats playerinfo
的最大值。
我知道如何拉最大值
SELECT PlayerUID, MAX(PlayerKills) FROM db.playerstats;
但我不理解的是存储来自playerstats
的UID并从name
返回playerinfo
的声明。
PlayerUID引用密钥中的UID。我不知道这是否更容易。
如下面的评论,我正在尝试加入声明
SELECT PlayerUID, MAX(PlayerKills), Name FROM test_a3wasteland.playerstats JOIN test_a3wasteland.playerinfo ON PlayerUID = UID;
显然我知道这是错误的,但如何更改名称与最高值相关联?
更新: 我试过了:
SELECT Name, MAX(PlayerKills) FROM db.playerstats JOIN db.playerinfo ON PlayerUID = UID;
但它仍然是错误的名字。
答案 0 :(得分:1)
此查询将获取具有最多杀戮的用户ID的名称。限制1只会返回前1个记录,并且杀死最多。
select info.name,
stats.PlayerKills
from test_a3wasteland.playerstats stats
inner join test_a3wasteland.playerinfo info
on stats.PlayerUID = info.UID
order by stats.PlayerKills DESC
limit 1;