如何编写一个sql查询返回满足要求的表中的数据计数

时间:2014-01-30 19:32:45

标签: sql tsql count where where-clause

我有一个ID和City列表。我想写一个sql查询,它将返回ID和count(ID)作为City = City和ID = ID的列。

到目前为止,我有这个:

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

1 个答案:

答案 0 :(得分:2)

尝试按idcity进行分组,只获得计数超过1的结果。

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