我已將所有用戶的IP保存在MYSQL中。我如何選擇使用同一個IP註冊兩次或更多次的用戶?選擇重複行
我知道MySQL中的DISTINCT函數是用來選擇唯一行的,我的情況呢?任何函數或我只是運行循環?
謝謝。
我已將所有用戶的IP保存在MYSQL中。我如何選擇使用同一個IP註冊兩次或更多次的用戶?選擇重複行
我知道MySQL中的DISTINCT函數是用來選擇唯一行的,我的情況呢?任何函數或我只是運行循環?
謝謝。
SELECT ip FROM table GROUP BY ip HAVING COUNT(users)>1
2件事:COUNT(2)> = 2 * AND *在那裏必須有一個組,否則返回一個隨機行 - 請參閱http://dev.mysql.com/doc/refman/5.0/en/group-by -hidden-columns.html – Unreason 2011-03-17 13:02:25
是的,我意識到,在我發佈之後,我想我在看到您的評論之前更新了我的答案。謝謝。 – dmcnelis 2011-03-17 13:49:30
除非你確切地知道你在做什麼,否則永遠不要'計算'不是'*'的東西。如果列上不是NOT NULL,那麼COUNT會產生不同的結果。 – NikiC 2011-03-17 13:53:52
SELECT userid, ip
FROM users
GROUP BY userid, ip
HAVING COUNT(userid) > 1;
SELECT count(*) cnt, name
FROM `users`
GROUP BY ip
HAVING cnt >1
OP對我們其中一個人的澄清是錯誤的:D另外一個評論:由於dev.mysql.com/doc/refman/5.0/en/group-by-hidden-columns.html選擇「name」是非確定性的,這對我來說是無用的......在這裏你可能實際上做了'group_concat(name)' – Unreason 2011-03-17 13:57:41
當你說用戶你的意思*同*用戶*同* IP,或者乾脆IPS對此有幾個記錄? – Unreason 2011-03-17 13:54:08
如果我錯了,請更正我的錯誤,但可能擁有具有相同IP地址的唯一用戶。特別是隨着時間。 – horatio 2011-03-17 14:39:38