gpt4 book ai didi

MySQL 递归 - 检索所有子元素

转载 作者:行者123 更新时间:2023-11-30 23:34:24 25 4
gpt4 key购买 nike

5 并有以下场景:

我有一个包含两列的数据库表:id(int)parentId(int)

假设我的数据是这样的

id  parentId
1 null
2 1
3 1
4 3
5 3
6 4
7 4
8 6

现在我想编写一个查询,列出所有具有特定元素作为祖先的元素。如何做到这一点?

例如,我想要所有以 4 作为祖先的元素; 6,7,8

最佳答案

您的表格是一个 adjacency list model 的示例分层数据。这有众所周知的局限性,包括不可能编写一个查询来执行您想要的操作。 (您可以通过施加深度限制来执行单个查询,但这很痛苦。)

更好的结构是 nested set model .有篇不错的文章here关于嵌套集模型的工作原理,包括大量用于实现它的 SQL 代码。

关于MySQL 递归 - 检索所有子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8821545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com