一个简单的,很长一段时间我不使用mysql查询所以也许有人可以帮我解决这个nooby问题,我有一个联系人表,id,名称和城市..我想得到列出的所有联系人如下。
city 1 -------- contact1 contact2 contact3 city 2 -------- contact4 contact7 contact10 city 3 -------- contact5 contact6 contact8
我不想使用任何额外的PHP编码,只需获得像这样的SQL结果
city 1
-> contact 1
-> contact 2
-> contact 3
city 2
-> contact 4
-> contact 7
-> contact 10
...
然后将结果填入php对象,并执行以下操作:
foreach (cities as city)
{
// code here
}
提前致谢
答案 0 :(得分:1)
使用GROUP_CONCAT
SELECT city, GROUP_CONCAT(name)
FROM contacts
GROUP BY city
答案 1 :(得分:0)
您只需要GROUP BY
城市列,并使用SELECT
中的GROUP_CONCAT功能获取每个城市的逗号分隔名称列表。
SELECT city, GROUP_CONCAT(name) AS name
FROM contacts
GROUP BY city;