我有一個包含所有美國郵政編碼的表格。每行包含郵政編碼的城市和州名稱。我試圖列出在多個州中出現的城市列表。如果在同一城市中沒有X個郵政編碼,這不會成爲問題...選擇次數/副本
所以基本上,我只是想讓城市在一個州里算作1而不是算上城市/狀態7次,因爲在該城市/州有2+郵政編碼...
我不太確定如何做到這一點。我知道我需要使用count,但是如何告訴mysql只計算給定的城市/州組合爲1?
我有一個包含所有美國郵政編碼的表格。每行包含郵政編碼的城市和州名稱。我試圖列出在多個州中出現的城市列表。如果在同一城市中沒有X個郵政編碼,這不會成爲問題...選擇次數/副本
所以基本上,我只是想讓城市在一個州里算作1而不是算上城市/狀態7次,因爲在該城市/州有2+郵政編碼...
我不太確定如何做到這一點。我知道我需要使用count,但是如何告訴mysql只計算給定的城市/州組合爲1?
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
格林3
等
嘗試使用SELECT DISTINCT
SELECT DISTINCT city, state FROM table GROUP BY city
這是否會做
Select CityName, Count (Distinct State) as StateCount
From CityStateTable
Group by CityName
HAVING Count (Distinct State) > 1
你或許應該創建一個單獨的表郵政編碼,然後避免重複的伎倆。
你要考慮的GROUP BY Aggregate.
什麼是數據庫架構? – 2010-03-25 14:59:15