>  기사  >  백엔드 개발  >  如何获取省份和城市

如何获取省份和城市

WBOY
WBOY원래의
2016-06-13 12:10:181231검색

怎么获取省份和城市?
id pid paths  pro  city
1   0   0     中国 
2   1   1,2   湖南
3   1   1,3   湖北
4   2   1,2,1 湖南  长沙
5   2   1,2,2 湖南  娄底
6   3   1,3,1 湖北  武汉

最后结果:

湖南   长沙  娄底
湖北   武汉

忙了一天晕了,好难弄


------解决思路----------------------

select pro, group_concat(city order by paths) as city<br />  from表<br />  where city!=''<br />  group by pro<br />
<br />pro city <br />湖北 武汉 <br />湖南 长沙,娄底 <br />

------解决思路----------------------
1、你展示的数据和结果没有体现出无限分类
2、你没有说明查询的依据是什么
3、在 邻接列表算法中,并不需要冗余的 paths 列
    递归和不递归的算法,精华区都有
4、你的 paths 列含义不清,尤其是表示 ctiy 层次的值
5、按我国的行政区划标准,只有 省、市、县、乡 4个层次
加上 国家和村,也就是6个层次,不能说是无限分类,并且变化的概率很小
所以应按 预排序遍历树算法 组织数据

------解决思路----------------------
你是不是想这样体现无限循环的。

id pid paths  pro  city
1   0   0,     中国 
2   1   1,2,   湖南
3   1   1,3,   湖北
4   2   1,2,4, 湖南  长沙
5   2   1,2,5, 湖南  娄底
6   3   1,3,6, 湖北  武汉

取湖南省下的所有市

SELECT `city` FROM  `pro` WHERE instr(`paths`,'1,2,')

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.