首页 > 解决方案 > 使用 PHP 在 mySQL 中查找多个用户的帐户

问题描述

请你帮我解决这个问题。mysql中有一张表(用户的访问日志):“user_id”“Ip”“access_date”。
是否可以显示所有用户的双重帐户(多帐户,具有不同 ID 的用户,但使用相同的 IP),而不会对 mysql 和服务器资源造成巨大的负载?

喜欢:
“10”“155.166.11.2”“2018-01-22 13:08:36”
“122”“127.0.0.1”“2018-01-22 13:19:00”
“13”“144.11.11.4” “2018-01-31 17:16:56”
“10” “127.0.0.1” “2018-01-31 17:26:35”
“99” “155.166.11.2” “2018-01-31 17:26”: 55"
"13""12.11.22.4""2018-01-31 17:43:56"




结果:
“10, 99, 122” - 同一个用户
“11, 13” - 同一个用户。

标签: phpmysqlalgorithmsortingweb

解决方案


您可以通过 ip > 1 使用计数组的子查询

如果您希望用户获得相同的结果

select m.ip, group_concat(m.user_id)
from my_table  m.ip
inner join (
  select ip 
  from my_table 
  group by ip 
  having count(*) > 1 

) t on t.ip = m
group by m.ip

否则,如果您希望 user_id 在不同的行上

select m.user_id
from my_table  m.ip
inner join (
  select ip 
  from my_table 
  group by ip 
  having count(*) > 1 

) t on t.ip = m

推荐阅读