代码之家  ›  专栏  ›  技术社区  ›  Christopher

按邮政编码统计和列出不同县的SQL查询

  •  4
  • Christopher  · 技术社区  · 15 年前

    我有一个名为zipcode的SQL Server2005表,其中包含所有的US zip。对于每个条目,它列出了邮政编码、县、市、州和其他一些详细信息。

    有些邮政编码跨越多个城市,有些甚至跨越多个县。因此,一些邮政编码会多次出现在表格中。

    我试图查询这个表,看看哪个邮政编码跨越多个县。

    这就是我目前为止所拥有的:

    select
        zipcode,
        count(zipcode) as total,
        county,
        state
    from
        zipcode
    group by
        zipcode,
        county,
        state
    order by
        zipcode
    

    在结果集中的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
    

    在这个特定的示例中,总共有两个或多个zip的每个zip多次出现在表中,这是因为“cityliasname”(未显示)或某些其他列不同。但我只想知道哪一个拉链在那里不止一次,因为县列不同。

    我在发布这篇文章之前进行了搜索,发现了许多关于统计记录的问题,但我不知道如何将它们应用于我的问题。如果已经有一个问题的答案适用于这个问题,请原谅我。

    2 回复  |  直到 15 年前
        1
  •  6
  •   Robin Day    15 年前
    SELECT
        zipcode,
        COUNT(DISTINCT county)
    FROM
        zipcode
    GROUP BY
        zipcode
    HAVING
        COUNT(DISTINCT county) > 1
    
        2
  •  -1
  •   user140301    15 年前

    选择邮政编码,计数(县) 从表 按邮政编码分组