MySQL按顺序获取父/子类别

MySQL按顺序获取父/子类别,mysql,multi-level,Mysql,Multi Level,我的问题很简单,但我不知道答案 我有一个包含以下字段和值的表: 类别 ID | PARENT_ID | NAME --------------------- 1 | 0 | Cat1 2 | 0 | Cat2 3 | 1 | Cat3 4 | 1 | Cat4 5 | 3 | Cat5 6 | 2 | Cat6 7 | 0 | Cat7 ..... 基本上,我只需要使用

我的问题很简单,但我不知道答案

我有一个包含以下字段和值的表:

类别

ID | PARENT_ID | NAME
---------------------
 1 |     0     | Cat1
 2 |     0     | Cat2
 3 |     1     | Cat3
 4 |     1     | Cat4
 5 |     3     | Cat5
 6 |     2     | Cat6
 7 |     0     | Cat7
.....
基本上,我只需要使用MySQL获取数据-按父id排序。此外,对于每个名称,我需要根据级别添加“-”符号。 最后应该是这样的:

ID | PARENT_ID | NAME
---------------------
 1 |     0     | Cat1
 3 |     1     | -Cat3
 5 |     3     | --Cat5
 4 |     1     | -Cat4
 2 |     0     | Cat2
 6 |     2     | -Cat6
 7 |     0     | Cat7
我不知道如何开始构建这样一个查询——我想按父id排序,但它不起作用


有没有一个函数或方法可以用来实现这一点?任何提示都将不胜感激。

-我不确定原因,也不知道它可能意味着什么,但我认为这将满足您的要求:

select ID,PARENT_ID,concat(substring('---------------',1,NAME),NAME) as NAME
from table
order by PARENT_ID
请注意,如果有超过15个“级别”或父级ID>15,则需要添加更多的“-”。
尝试使用repeatsql函数。 你可以用它来做什么
按父id从表顺序中选择联系人重复'-',父id,名称

我想你不明白我的问题。我需要根据父项ID对其进行排序-考虑显示一个包含类别和子类别列表的选择框…只是在上面添加了一个按父项ID排序。如果您按父项ID排序-您会得到我需要的结果吗?再次检查,因为行的顺序不是这样的。最后的顺序由类别所在的级别给出。请查看此网站:作为起点。您正在使用邻接技术。@AgRizzo-将此作为一个答案,这样我就可以接受它。这不是一个真正的答案没有SQL代码-它更像是一个重定向:如果您开发了一个解决方案,您应该自己回答它。@AgRizzo-是的,但它解决了或帮助了我的很多问题。你必须得到答案。我将直接提出这个问题的解决办法。