以下のように、すべての米国の郵便番号とそれに対応する州および下院選挙区のデータベース テーブルがあります。
id | zipcode | state_abbr | district
1 30080 GA 1
2 30080 TN 2
複数の州で表示される郵便番号を返すクエリが必要です。これどうやってするの?
SELECT zipcode
FROM (
SELECT zipcode
FROM temp
GROUP BY zipcode, state_abbr
) AS t
GROUP BY zipcode
HAVING COUNT(*) > 1
このSQLを試してください。
MySQL 5.5.30 スキーマのセットアップ:
CREATE TABLE Table1
(`id` int, `zipcode` int, `state_abbr` varchar(2), `district` int)
;
INSERT INTO Table1
(`id`, `zipcode`, `state_abbr`, `district`)
VALUES
(1, 30080, 'GA', 1),
(2, 30080, 'TN', 2)
;
クエリ 1 :
select zipcode
from Table1
group by zipcode
having count(zipcode)>1
結果:
| ZIPCODE |
-----------
| 30080 |