我在MySQL中有一个表:
id name parent_id
1 animals null
2 mammal 1
3 feline 2
4 human 2
5 cat 3
6 invertebrate 1
7 snake 6
8 objects null
etc..
我想要一个MySQL查询,按此顺序显示结果:
Animals
Mammal
Feline
Cat
Human
Invertebrate
Objects
etc..
我还在学习,完全被这个人困住了。
答案 0 :(得分:2)
如果要显示具有无限数量嵌套级别的树结构,我认为您需要在其他语言中使用mysql。使用mysql和PHP,可以使用几个嵌套的“while”和“if”循环来完成。但正如Iouri所说,“纯粹”的Mysql方法,例如将表连接回自身,只会支持与您拥有的连接数一样多的嵌套级别。
SELECT
t1.name, t2.name, t3.name
FROM table t1
JOIN table t2 ON t2.parent_id = t1.id
JOIN table t3 ON t3.parent_id = t2.id
# etc.
答案 1 :(得分:1)
这可能会有所帮助:
http://sqllessons.com/categories.html
我认为它假设您有一定数量的嵌套级别。