需求:MySQL树形结构 根据指定的节點,获取其下属的所有叶子节点
叶子节点:如果一个节点下不再有子节点,则为叶子节点
1、可以使用类似Java这种面向对象的语言,对节點集合进行逻辑处理获取叶子节点。
2、直接自定义MySQL函数 getLeafNodeList通过两层while循环,实现对指定节点的所有叶子节点进行查询
1)表结构截图如下(此处简单建一张表 t_tree,id主键自增uuid表示本节点,parent_uuid表示父节点):
1)查询节点1 的叶子节点:从树形图可以看到应该是 11,12
2)查询节点2 的叶子节點:从树形图可以看到,应该是 211,221,222,
3)查询节点3 的叶子节点:从树形图可以看到应该是 3
该问题核心点是内层循环查找叶子节点,按照上面的表数据和截图阅读SQL函数,很好理解
希望能帮到需要帮助的同行,谢谢
1)如果需要 根据指定的节点,获取其下属的所有子节点(包含蕗径上的所有枝干节点和叶子节点)
请参考本人的另一篇博文:
2)如果需要 根据指定节点获取其所有父节点序列
请参考本人的另一篇博攵:
3)如果需要 根据指定节点,获取其所在全路径节点序列
请参考本人的另一篇博文: