我有一个MySQL表,有2列(ip_address和customer_id)。我试图在MySQL中找到一种方法来查找已登录多个帐户但具有相同IP的人。
例如,如果customer_id 3和customer_id 7都已登录1.1.1.1,我希望能够找到它。
我不需要知道它是同一个IP上的同一个用户(或不同IP上的同一个用户),只要它是同一IP上的不同用户。
答案 0 :(得分:0)
尝试类似
的内容SELECT *
FROM "myTable" as "a" join "myTable" as "b" on ("a"."ip_address" = "b."ip_address")
WHERE "a"."customer_id" <> "b"."customer_id";
这是首先创建一个列表,列出具有相同ip的所有条目的排列(实际上甚至是相同的行),并为那些具有相同ip但不同customer_id的行过滤它。
答案 1 :(得分:0)
您可以尝试下一个查询
t
答案 2 :(得分:0)
您可以对ip_address进行分组,并查找有多少客户拥有相同的IP。
select a.ip_address
,group_concat(a.customer_id) as customers
,count(distinct a.customer_id) as customers_count
from database.table a
group by a.ip_address
having customers_count > 1