如何使 MySQL 在另一个 table 中加入相同的值

How to Make MySQL join with same values in another table

我有这个 table 命名为 team_member

memberid | teamid | groupid | ....
  123        12        45
  113        15        46
  ...       ....      ....

然后这个tablemembers

id | name | ipaddress | ...
123   Amy    8.45.1.23
113  Mark   12.4.41.124
...  ....   ..........

我想要的是列出具有相同 ipaddress 但他们在同一 groupid 中有 2 个团队的成员。可能吗?

下面的查询将 return 多个不同 id 使用的 IP 地址列表。通过在 ipaddress,groupid 上使用 GROUP BY,我们可以将结果限制为共享 groupid 的行。

SELECT 
  ipaddress, GROUP_CONCAT(DISTINCT id), groupid 
FROM
  member
JOIN 
  team_member
ON
  team_member.memberid = member.id
GROUP BY 
  ipaddress, groupid
HAVING 
  COUNT(DISTINCT id) > 1
ORDER BY 
  COUNT(DISTINCT id) DESC

您可以看到查询在此处对某些测试数据有效。

http://sqlfiddle.com/#!9/eced69/8/0