如何使 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
您可以看到查询在此处对某些测试数据有效。
我有这个 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
您可以看到查询在此处对某些测试数据有效。