如何在超过某一年不存在的 mysql 行上左加入?

  • 本文关键字:mysql 不存在 一年 php mysql
  • 更新时间 :
  • 英文 :


我有两个表,我将列出表名和相关字段:

PLAYERS:
playerid
STATS:
statsid
playerid
year

每次玩家在游戏中累积统计数据时,都会在stats表中放一行并记录年份。

现在,我想得到players表中所有在2016年及以上没有记录任何统计数据的球员的名单。

我尝试了LEFT JOIN,但并不真正理解我在做什么,无法使其发挥作用。这是我尝试过的事情之一,别笑

SELECT * FROM `players` LEFT JOIN `stats` ON players.playerid = stats.playerid where count(*) = 0 and stats.year >= 2016

您似乎不知道存在的语法,例如:

select * 
from players p 
where not exists (select 1 
from stats s 
where s.playerid = p.playerid
and s.year >= 2016)

显示了那些年不在统计表中的球员,易于理解和记忆。

最新更新