2014-01-30 48 views
0

我有一個ID爲ID和City爲表的列表。我想寫一個sql查詢,將返回ID和計數(ID)作爲城市=城市和ID = ID列。如何編寫一個sql查詢,返回滿足要求的表的數據數

我有這個至今:

select N.ID, count(N.ID) as OpenCities 
into #new2 
from #new N 
where ... 

的哪裏是我遇到的麻煩的部分。請幫忙。謝謝。

樣本數據:

ID | City 
============= 
1  New York 
1  Chicago 
2  New Jersey 
2  Chicago 
2  Chicago 
3  Miami 
3  Miami 
3  Miami 
3  Miami 
3  Tuscon 

我想要什麼返回:

ID | OpenCities 
=================== 
2  2 
3  4 
+0

燦你提供樣本數據和期望的結果? –

+0

這是什麼意思「哪裏城市=城市和身份證=身份證」? –

+0

我希望表中所有實例的ID數相等,城市 –

回答

2

嘗試通過分組和idcity用數只得到結果大於1

SELECT 
    ID, 
    count(1) 
FROM Table 
GROUP BY ID, City 
HAVING count(1) > 1 
+0

count(1)中的1是多少? –

+0

與count(*)'相同。它提供了記錄的計數,而不管是否爲NULL。 –

相關問題