Я предполагаю, что почтовые индексы могут относиться только к одному городу и штату.
SELECT State
, City
, CASE WHEN MAX(Town) <> MIN(Town) THEN '-------' ELSE MAX(Town) END as Town
, ZipCode
FROM data
GROUP BY State, City, ZipCode
что-то подобное? Не уверен, насколько он эффективен по сравнению с другими вариантами.
РЕДАКТИРОВАТЬ: Я согласен, что COUNT является более ясным способом выразить это