如果我有一个表,例如:
memberid,time,ip
所有已登录的 IP 的 IP 历史记录以及他们登录时使用的关联帐户 ID 和各自的 IP。
是否可以通过单个查询来检查表中是否有任何 IP 已登录到 > 1
帐户,如果有,memberid 是什么
已登录该 IP。
我知道如何通过帐户将其限制为唯一的 IP:
SELECT DISTINCT memberid,ip FROM iphistory
但不确定如何检查哪些memberid共享相同的IP。
编辑:更新以使其更加清晰。
最佳答案
问题可以表述为:“共享相同 ip 的成员”。要确定类似的内容:
select ip
from T
group by ip
having count(distinct memberid) > 1
可以使用。如果您想要与这些 IP 关联的成员,您可以将其加入到原始表中:
select distinct x.memberid, y.ip
from T as x
join (
select ip
from T
group by ip
having count(distinct memberid) > 1
) as y
on x.ip = y.ip
我添加了distinct,因为一个成员(member)可以从一个ip多次登录。
关于mysql - 获取ip日志表中使用相同ip登录的帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27587436/