mysql - 我需要 sql 查询来获取所需的格式

标签 mysql sql recursive-query

我有表类别,其中的列
id(AutoIncrement),Parent_id,Level,Name

最初对于 1 级数据,Parent_id 为 0。自动增量 id 将是下一级的 Parent_id。我的表表数据将像这样

id     Parent_id    Level    Name
1       0             1      Indian
2       0             1      International
3       0             1      Nri
4       1             2      BC 
5       2             2      Christian
6       2             2      Muslim
7       4             3      MBC-1
8       7             4      OBC-2
9       1             2      FC

我想以这种格式显示记录(就像 TreeView )

id     Parent_id    Level    Name
1       0             1      Indian
4       1             2      BC 
7       4             3      MBC-1
8       7             4      OBC-2
9       1             2      FC
5       2             2      Christian
6       2             2      Muslim
2       0             1      International
3       0             1      Nri
4       1             2      BC 

任何人都可以帮助我使用 sql 查询来获得这种数据排列吗?

最佳答案

如果它没有设定数量的分支,您可能希望在您的应用程序中循环查询或编写 SP 来获取所有节点。这里有一些很好的阅读: http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/

关于mysql - 我需要 sql 查询来获取所需的格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9601253/

相关文章:

sql - 在 SQL 表中存储分类引用的最佳方法是什么?

java - 如何分解 JComboBox 中的各个值?

python - 将 NumPy.fromiter() 与 MySQL 查询结果一起使用时出错

sqlite - 使用 sqlite 分割部分中的值

sql - 递归查询 CTE

mysql - #1142 - 拒绝用户 ___ 对表 ___ 的 INSERT 命令

mysql - 在 MySQL 中如何使用继承?

mysql - 使用 avg 函数从 sql 数据库中选择

sql - 将元素的祖先从邻接列表写入 Postgres 表

mysql - 如何使用 Express 连接 Node.js 和 MySQL 8.0?