2009-07-21 2 views
4

私はZipCodeと呼ばれるSQL Server 2005テーブルを持っています。これにはすべての米国ZIPが含まれています。各エントリーについて、それは郵便番号、郡、都市、州、および他のいくつかの詳細を記載します。郵便番号ごとに異なる郡をカウントして一覧表示するSQLクエリー

いくつかの郵便番号は複数の都市にまたがっており、いくつかは複数の郡にまたがっています。その結果、いくつかの郵便番号がテーブルに何度も現れます。

私はテーブルを照会して、複数の郡にまたがる郵便番号を調べようとしています。

これは私がこれまで持っているものである:結果セットの19248のレコードの

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

、ここでは、最初のいくつかのレコードが返されます。この特定の例では

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ファイルを2つ以上のテーブルの合計がテーブル内に2回以上あることがあります。これは、「都市名」(図示せず)やその他の列が異なるためです。しかし、私は郡の列が異なるため、複数のジップが複数回あることを知りたいだけです。

私はこれを投稿する前に検索しました。レコードを数えることについて多くの質問がありましたが、問題にどのように適用するかを理解できませんでした。すでにこの質問に回答がある質問がある場合は、私を許してください。

答えて

6
SELECT 
    zipcode, 
    COUNT(DISTINCT county) 
FROM 
    zipcode 
GROUP BY 
    zipcode 
HAVING 
    COUNT(DISTINCT county) > 1 
+0

あなたは 'count(distinct county)'を望んでいます – SquareCog

+0

このクエリは市のフィールドと照合して動作することを確認しました。しかし、私のデータには、ソースがそれを言ったにもかかわらず、複数の郡を含む郵便番号がないことは明らかです!しかたがない!しかし、助けてくれてありがとう。 – Chris

-1

SELECTの郵便番号、郵便番号BYテーブル グループから2005 ZIPテーブルは毎月のファイルUSPS更新するので、かなり時代遅れになることを

1

注(郡) を数えます。ほとんどのZIPテーブルは、USPS市の州のファイルから派生したもので、5桁のZIPごとにPREDOMINANT郡がリストされています。 USPS ZIP + 4データベースは、複数のZIPを共有するすべての郡を識別します。 2010年5月現在、42,068郵便番号のうち9,944点(23%以上)が郡の境界線を越えています。

http://semaphorecorp.comは現在のUSPSデータの安価なソースです。

+0

私はSQL Server 2005を指していましたが、これはまだまだ良い情報です。ありがとうございました。 – Chris