从MySQL中的分层数据生成基于深度的树(无CTE)
嗨,很多天了,我一直在用MySQL来解决这个问题,但是我想不出来。你们有什么建议吗?
基本上,我有一个类别表,其域如下:id, name(类别名称)parent(类别的父类的ID)。
id
name
parent
示例数据:
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。
泛舟湖上清波郎朗
相关分类