我正在尝试构建一个查询,该查询将获取 a ,查找为该人记录的player_id
所有不同地址,并提取共享每个 ip 的不同 other 的列表。ip
player_id
示例架构:
CREATE TABLE IF NOT EXISTS `ips` (
`ip_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`ip` int(10) unsigned NOT NULL,
PRIMARY KEY (`ip_id`)
);
CREATE TABLE IF NOT EXISTS `joins` (
`join_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`player_id` int(10) unsigned NOT NULL,
`ip_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`join_id`)
);
ips 表记录我看到的每个唯一 ip,players 表记录每个唯一玩家(对此并不重要)和 joins 表记录每次连接时。
用两个查询来做这件事是我的第一个想法,它行得通而且速度很快——但我真的很想用一个查询来做这个。我尝试了一个使用子查询的查询,但这需要永远完成。
查询此问题的最有效方法是什么?