我有一个名为ZipCode的sql server 2005表,其中包含所有美国邮政编码.对于每个条目,它列出了zip,县,城市,州和其他几个细节.
一些邮政编码跨越多个城市,有些甚至跨越多个县.因此,表中会出现一些zipcodes.
我正在尝试查询表以查看哪些邮政编码跨越多个县.
这是我到目前为止:
select
zipcode,
count(zipcode) as total,
county,
state
from
zipcode
group by
zipcode,
county,
state
order by
zipcode
Run Code Online (Sandbox Code Playgroud)
在结果集中的19248条记录中,这里是返回的前几条记录:
zipcode total county state
00501 2 SUFFOLK NY
00544 2 SUFFOLK NY
00801 3 SAINT THOMAS VI
00802 3 SAINT THOMAS VI
00803 3 SAINT THOMAS VI
00804 3 SAINT THOMAS VI
00805 1 SAINT THOMAS VI
00820 2 SAINT CROIX VI
00821 1 SAINT CROIX VI
00822 1 SAINT CROIX VI
00823 2 SAINT CROIX VI
00824 2 SAINT CROIX VI
Run Code Online (Sandbox Code Playgroud)
在这个特定的例子中,总共有两个或更多的每个zip恰好在表中不止一次,这是因为"cityaliasname"(未显示)或其他一些列不同.但我只是想知道哪些拉链不止一次,因为县列不同.
我在发布之前进行了搜索,发现了很多关于计算记录的问题,但我无法弄清楚如何将它们应用到我的问题中.如果已经有一个问题的答案适用于这个问题,请原谅我.
SELECT
zipcode,
COUNT(DISTINCT county)
FROM
zipcode
GROUP BY
zipcode
HAVING
COUNT(DISTINCT county) > 1
Run Code Online (Sandbox Code Playgroud)