选择,存储,从不同的表中选择

时间:2018-04-08 22:22:21

标签: mysql

目前我有一个包含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;

但它仍然是错误的名字。

1 个答案:

答案 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;