2012-09-16 47 views

回答

2

您應該通過查詢來利用該組。一個老博客我寫的是Understanding group bys

但基本上這應該工作:

select distinct ip, count(id) from users group by IP having count(id) > 1 

這將返回所有IP地址用的計數> 1

0

運行您要搜索IP地址的SQL語句和替代:

SELECT * FROM users WHERE IP = '172.0.0.1' 
+0

我不希望搜索某個IP我想搜索的IP是相同的 –

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地址。您可能需要找出一種方法來決定要保留哪個帳戶以及要刪除哪個帳戶,但這應該會爲您提供一個開始。

+0

這給了一個錯誤.. –

+0

我的表名是用戶和列名是IP –

+0

與用戶切換出Tablename,它應該工作 – Mike