选择计数/重复

时间:2010-03-25 14:55:50

标签: sql mysql database

我有一张包含所有美国邮政编码的表格。每行包含邮政编码的城市和州名称。我正在尝试获取一系列显示在多个州的城市。如果在同一个城市没有X个邮政编码,这不会有问题......

所以基本上,我只想把一个州的城市算作1而不是计算城市/州7次,因为该城市/州有2个以上的邮政编码......

我不确定该怎么做。我知道我需要使用count但是如何告诉mysql只将给定的city / state组合计为1?

5 个答案:

答案 0 :(得分:10)

SELECT City, Count(City) As theCount
FROM (Select City, State From tblCityStateZips Group By City, State) As C
GROUP By City
HAVING COUNT Count(City) > 1

这将返回包含在多个州的所有城市,包括计数。

格林维尔39
格林伍德2
GreenBriar 3

答案 1 :(得分:1)

这会起作用吗

Select CityName, Count (Distinct State) as StateCount
From CityStateTable
Group by CityName
HAVING Count (Distinct State) > 1

答案 2 :(得分:1)

关于州和城市的第一组,然后将结果分组到城市:

select City
from (
  select State, City
  from ZipCode
  group by State, City
) x
group by City
having count(*) > 1

答案 3 :(得分:0)

尝试使用select distinct

SELECT DISTINCT city, state FROM table GROUP BY city

答案 4 :(得分:0)

您可能应该为邮政编码创建一个单独的表,然后避免重复。

您想查看GROUP BY Aggregate.