MySql:如何从给定条件中获取下一条记录

MySql:如何从给定条件中获取下一条记录,mysql,Mysql,如果有两张桌子,一张是玩家,另一张是场上 表::播放器: uid:10, name:jack uid:23, name:david uid:37, name:james uid:42, name:nick uid:58, name:mark 表:游戏 gid: 20, last_player: david gid: 32, last_player: jack gid: 38, last_player: mark gid: 43, last_player: nick 如何从给定的gid中找到下

如果有两张桌子,一张是玩家,另一张是场上

表::播放器:

uid:10, name:jack
uid:23, name:david
uid:37, name:james
uid:42, name:nick
uid:58, name:mark
表:游戏

gid: 20, last_player: david
gid: 32, last_player: jack
gid: 38, last_player: mark
gid: 43, last_player: nick
如何从给定的gid中找到下一个玩家? 我在寻找一些声明,比如:

SELECT p.uid, p.name FROM player p AND onfield o WHERE o.last_player = p.name AND gid=20 ORDER BY uid ASC;
如果gid=20,答案是uid:37,name:james

如果gid=38,答案是uid:10,name:jack

问题是,我必须从声明中获取下一条记录,在“last_player='mark'”的情况下,我必须获取第一条记录


有没有办法在SQL查询中解决这个问题?

如果o.last\u player!=标记

   SELECT p.uid, p.name FROM player p, onfield o WHERE o.last_player = p.name 
   AND p.uid > o.guid ORDER BY uid ASC limit 1;
如果o.last_player==马克

  SELECT p.uid, p.name FROM player p, onfield o ORDER BY p.uid ASC limit 1;