都道府県と市を取得するにはどうすればよいですか?
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 湖北省武漢
最終結果:
湖南長沙婁迪
湖北省武漢
忙しい Iある日気を失いました、そしてそれを理解するのはとても難しいです
-----解決策のアイデア--------- --
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. 隣接リスト アルゴリズムでは、冗長なクエリは必要ありません。パス列
再帰的アルゴリズムと非再帰的アルゴリズムは最適な領域で使用できます
4. パス列の意味、特に 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,')