首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对树形结构进行MySQL选择?

如何对树形结构进行MySQL选择?
EN

Stack Overflow用户
提问于 2012-10-11 02:44:13
回答 2查看 5.4K关注 0票数 1

我在MySQL有一张桌子:

代码语言:javascript
复制
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查询:

代码语言:javascript
复制
    Animals
       Mammal
          Feline
             Cat
          Human
       Invertebrate
    Objects
etc..

我还在学习中,完全被这个问题所困扰。

EN

回答 2

Stack Overflow用户

发布于 2012-10-11 02:58:48

如果你想显示一个嵌套层数不定的树形结构,我认为你需要在其他语言中使用mysql。对于mysql和PHP,这可以通过两个嵌套的"while“和"if”循环来完成。但正如Iouri所说,“纯粹的”Mysql方法,例如将表连接回自身,将只支持与您拥有的连接数量相同的嵌套级别。

代码语言:javascript
复制
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.
票数 2
EN

Stack Overflow用户

发布于 2012-10-11 02:52:57

这可能会有所帮助:

代码语言:javascript
复制
http://sqllessons.com/categories.html

我认为它假设你有一定数量的嵌套级别。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12826217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档