SQL-запрос для подсчета и перечисления различных округов по почтовому индексу - PullRequest
4 голосов
/ 21 июля 2009

У меня есть таблица SQL Server 2005 под названием ZipCode, в которой есть все почтовые индексы США. Для каждой записи в нем перечислены почтовый индекс, округ, город, штат и ряд других деталей.

Некоторые почтовые индексы охватывают несколько городов, а некоторые - даже несколько округов. В результате некоторые почтовые индексы появляются в таблице много раз.

Я пытаюсь запросить таблицу, чтобы узнать, какие почтовые индексы проходят через несколько округов.

Это то, что я имею до сих пор:

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-файл с общим числом двух или более находится в таблице более одного раза, и это потому, что «cityaliasname» (не показан) или какой-либо другой столбец отличается. Но я просто хочу знать, какие почтовые индексы находятся там более одного раза, потому что столбец округа отличается.

Я искал, прежде чем опубликовать это, и нашел много вопросов о подсчете записей, но я не мог понять, как применить их к моей проблеме. Пожалуйста, прости меня, если уже есть вопрос, ответ на который относится к этому вопросу.

Ответы [ 2 ]

6 голосов
/ 21 июля 2009
SELECT
    zipcode,
    COUNT(DISTINCT county)
FROM
    zipcode
GROUP BY
    zipcode
HAVING
    COUNT(DISTINCT county) > 1
0 голосов
/ 21 июля 2009

ВЫБЕРИТЕ почтовый индекс, количество (округ) С таблицы Почтовый индекс GROUP BY

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...