亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從MySQL中的分層數據生成基于深度的樹(無CTE)

從MySQL中的分層數據生成基于深度的樹(無CTE)

婷婷同學_ 2019-06-23 14:41:47
從MySQL中的分層數據生成基于深度的樹(無CTE)嗨,很多天了,我一直在用MySQL來解決這個問題,但是我想不出來。你們有什么建議嗎?基本上,我有一個類別表,其域如下:id, name(類別名稱)parent(類別的父類的ID)。示例數據:1  Fruit        02  Apple        13  pear         14  FujiApple    25  AusApple     26  SydneyAPPLE  5....有許多層次,可能超過3個層次。我想要創建一個SQL查詢,該查詢根據層次結構對數據進行分組:父級>子級>外孫>等等。它應該輸出樹結構,如下所示:1 Fruit 0  ^ 2 Apple 1    ^ 4 FujiApple 2    - 5 AusApple 2      ^ 6 SydneyApple 5  - 3 pear 1我可以使用一個SQL查詢來完成這個任務嗎?我嘗試過并確實發揮了作用的另一種選擇是:SELECT * FROM category WHERE parent=0在此之后,我再次循環數據,并選擇Parent=id所在的行。這似乎是個糟糕的解決方案。因為它是MySQL,所以不能使用CTE。
查看完整描述

3 回答

?
泛舟湖上清波郎朗

TA貢獻1818條經驗 獲得超3個贊

在RDBMS中存儲分層數據有兩種常見的方法:鄰接列表(您正在使用的)和嵌套集。關于這些替代方案,有一篇很好的文章。管理MySQL中的分層數據..您只能在使用嵌套集模型的單個查詢中執行所需的操作。然而,嵌套的集合模型使更新層次結構的工作更多,因此您需要根據您的操作需求考慮權衡。


查看完整回答
反對 回復 2019-06-23
  • 3 回答
  • 0 關注
  • 465 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號