欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

怎么获取省份和城市?

程序员文章站 2022-04-11 17:49:16
...
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  from表  where city!=''  group by pro
pro city 湖北 武汉 湖南 长沙,娄底 

不对,但是还是要 谢谢 版主

我是要无限分类的,tinkphp

网上很多 不过都是只有pid 的 但是没有path 路径查询。

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,')