好吧,我有一個名爲'test'和3列的單個MySQL表。現在選擇所有出現多次的行
ID | playername | lastloginip
-----------------------------
1 | user 1 | 1
2 | user 2 | 2
3 | user 3 | 3
4 | user 4 | 4
5 | user 5 | 5
6 | user 6 | 1
7 | user 7 | 1
8 | user 8 | 2
,我想select ALL
其中lastloginip被發現多次在表中的行,然後給這些行的計數。
在這種情況下,它應該返回數字5 ,因爲用戶1,2,6,7和8具有多次找到的lastloginip。
我已經使用
SELECT COUNT(*)
FROM (
SELECT *
FROM test
GROUP BY lastloginip
HAVING COUNT(*) > 1
) t
嘗試,但該還給我不知道如何正確地設置此查詢的號碼2,而不是5
。我的大部分在互聯網上發現一直只顯示2行或給予2號,而不是5
謝謝,我想我現在擁有它。我將你的第一個「誤解」版本的查詢改爲了一些有用的東西。 SELECT SUM(occurrences)FROM( SELECT COUNT(ID)AS occurrences FROM test GROUP BY lastloginip HAVING COUNT(ID)> 1)t – Snowy007 2012-01-04 00:24:29
我有一種感覺,我可能做了一些愚蠢的事情。希望其他人可以看看我的答案,並在需要時進行更正。 – marnir 2012-01-04 00:27:05