使用PHP在MySQL中查找多个用户帐户

时间:2019-01-01 19:09:02

标签: php mysql algorithm sorting web

请帮我解决这个问题。在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”
“ 18”“ 145.106.11.2”“ 2018-01-31 18:50:18”
“ 11”“ 144.11.11.4”“ 2018-01-31 18:54:18”
“ 10”“ 155.166.11.2”“ 2018-01-31 19:08:26”

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

1 个答案:

答案 0 :(得分:1)

您可以通过ip> 1来使用带有count组的子查询

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

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