select
left(郵便番号,3) as 郵便番号頭3桁,
max(市区町村名) as 市区町村名1,
min(市区町村名) as 市区町村名2,
count(*) as 件数
from 郵便番号マスタ
group by left(郵便番号,3)
having max(市区町村名) = min(市区町村名)
order by count(*) desc
SQLServer
select
left(郵便番号,3) as 郵便番号頭3桁,
max(市区町村名) as 市区町村名1,
min(市区町村名) as 市区町村名2,
count(*) as 件数
from 郵便番号マスタ
group by left(郵便番号,3)
having max(市区町村名) = min(市区町村名)
order by 件数 desc
MySQL, Oracle, PostgreSQL
substr が皆あるグループです
select
substr(郵便番号,1,3) as 郵便番号頭3桁,
max(市区町村名) as 市区町村名1,
min(市区町村名) as 市区町村名2,
count(*) as 件数
from 郵便番号マスタ
group by substr(郵便番号,1,3)
having max(市区町村名) = min(市区町村名)
order by 件数 desc