用SQL选择邮政编码问题

时间:2012-02-07 00:06:57

标签: mysql sql

我正在尝试编写一个SQL语句来获取该城市和州的城市,州和邮政编码。我的查询应该只返回一个州,城市和邮政编码列表。我不知道怎么写一个。我不是很好@Sql。如果有人能帮助我,那就太好了。

我的表看起来像

  

City -------------------------- State ---------- Zipcode -------- ----县

Alpharetta        Georgia      30004         Fulton
Alpharetta        Georgia      30005         Fulton 
Alpharetta        Georgia      30007         Fulton  

3 个答案:

答案 0 :(得分:3)

你是说这个吗?:

SELECT City,State,Zipcode
FROM my_table
WHERE City='Alpharetta' AND State='Georgia'

它将选择格鲁吉亚Alpharetta的所有邮政编码。每个邮政编码和相应的城市/州(即'Alpharetta'和'格鲁吉亚')将在结果中获得一行。

或者,如果你的意思是你想要这样的东西:

City        State      Zipcodes
Alpharetta Georgia 30004,30005,30007
.....

然后你可以尝试:

SELECT City, State, GROUP_CONCAT(Zipcode) AS Zipcodes
FROM my_table
GROUP BY City, State

(可选WHERE City='xxxxx' AND State='yyyyy')。

Docs for GROUP_CONCAT

答案 1 :(得分:2)

SELECT
  City, State, County,
  GROUP_CONCAT(Zipcode SEPARATOR ',') AS Zipcodes
FROM
  MyTable
WHERE
  <Whatever you have>
GROUP BY
  City, State

答案 2 :(得分:0)

声明如下所示

SELECT "City", "State", "Zipcode"
FROM Table
WHERE "City" = 'CityName' AND "State" = 'StateName'
GROUP BY "City", "State"

这会根据城市,州和邮政编码给你他们,分组会确保你每行不止一个