用于计算和列出每个邮政编码的不同县的SQL查询

Chr*_*ris 4 sql-server-2005

我有一个名为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"(未显示)或其他一些列不同.但我只是想知道哪些拉链不止一次,因为县列不同.

我在发布之前进行了搜索,发现了很多关于计算记录的问题,但我无法弄清楚如何将它们应用到我的问题中.如果已经有一个问题的答案适用于这个问题,请原谅我.

Rob*_*Day 6

SELECT
    zipcode,
    COUNT(DISTINCT county)
FROM
    zipcode
GROUP BY
    zipcode
HAVING
    COUNT(DISTINCT county) > 1
Run Code Online (Sandbox Code Playgroud)