我在這裏需要一些幫助來查詢。我想從一個結果集重複ip的計數,並把它們與一個用戶名。在sql服務器查詢中計算不同ip的數量
的原始結果集
Name | IP
--------------
Bert | 192.168.1.1
Bert | 192.168.1.5
Laura| 192.168.1.2
,我想這一點:
Name | IpCount
--------------
Bert | 2
Laura| 1
我的查詢到目前爲止是:
select ips.userName, COUNT(ips.userIP) as cnt
from (select u.userName, u.userIP from
users) as ips
group by ips.userName, ips.userIP
但是,讓我錯了數,可以來人幫幫我?
編輯:
我用的單詞重複,但它應該是:不同的。抱歉的人。
您還沒有在你的例子中重複的IP地址,所以我有點困惑,你到底是什麼。 – Mat 2012-04-14 09:17:49
我想爲每個用戶統計他們登錄的有多少個不同的IP。 – 2012-04-14 09:27:06
在我看來,您的「原始」結果集具有誤導性。你應該爲用戶Bert(例如)添加一個新的行,並添加一個重複的IP:「Bert,192.168.1.1」,「Bert,192.168.1.1」和「Bert,192.168.1.5」。所以,很明顯你想爲每個名字都計算DISTINCT IP。 – 2012-04-14 09:47:19