所以我有一个名为users的表的数据库..并且在该表中有一个名为IP的列,我想找到具有相同IP的用户并禁止它们。那么如何搜索IP的数据库是相同?
答案 0 :(得分:2)
您应该按查询来利用该组。我写的一篇旧博客是Understanding group bys
但基本上这应该有效:
select distinct ip, count(id) from users group by IP having count(id) > 1
这将返回所有ip地址,其计数为> 1
答案 1 :(得分:0)
运行SQL语句并替换您要搜索的IP地址:
SELECT * FROM users WHERE IP = '172.0.0.1'
答案 2 :(得分:0)
你可以从:
开始SELECT count(id) FROM tablename
GROUP BY IP
然后,您只需将这些结果重新加入到表格中即可获得有关重复项的信息
所以修改第一个语句: SELECT count(id)as number,IP FROM tablename
然后
SELECT a.id, a.name FROM tablename a
JOIN (
SELECT count(id) as number, IP FROM tablename
) b ON a.IP = b.IP
WHERE number > 1
这应该为您提供数据库中的所有重复IP地址。您可能需要找出一种方法来决定要保留哪个帐户以及要删除哪个帐户,但这应该可以帮助您。