当前位置: 首页 > 面试题库 >

MySQL-递归树结构

车诚
2023-03-14
问题内容

我有一个将位置链接在一起的数据库表;一个位置可以在一个位置,也可以在另一个位置内。

location (<id>, ....)
location_parent (<location_id>, <parent_id>)

这是深入探讨MySQL / PHP的深度:

$sql = "SELECT id FROM se_locations_services WHERE parent_locationid IN
( SELECT location_id FROM se_locations_parent WHERE parent_id = '$locationid' )";

在给定父级位置的情况下,如何使用MySQL如何获得其所有后代位置,无论深度如何?


问题答案:

mysql.com上有
一篇漂亮的文章

,概述了管理分层数据的各种方法。我认为它为您的问题提供了完整的解决方案,并显示了各种不太简单但较快的方法(例如嵌套集)。



 类似资料:
  • 本文向大家介绍数据结构 二叉树的递归与非递归,包括了数据结构 二叉树的递归与非递归的使用技巧和注意事项,需要的朋友参考一下 数据结构 二叉树的递归与非递归 实例代码:  先序遍历(递归法)   后序遍历      感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

  • 问题内容: 我是mysql的新手。这是我的桌子: 类别表: 每个类别都有一个父项,我想准备它们以显示在下拉菜单中。 这就是我想要得到的: 在这里,类别没有顺序,我的代码必须为远离父母的孩子类别提供顺序。根据每个类别的父母的深度提供姓名前的缩进。每个类别的孩子数没有限制,但是类别总数不超过100。 有没有查询可以给出这样的结果?我更喜欢可以在PHP框架中以活动记录形式运行的查询。 问题答案: 这个

  • 翻到祖师爷代码,发现树结构的数据是后端通过递归去生成的,效率非常低,请问有什么方法可以优化吗?

  • 我一直在用这个四叉树http://www.astroml.org/book_figures/chapter2/fig_quadtree_example.html 在一些数据上。但是我现在需要结果结构的嵌套表示。 其结构类似于: 这里的子元素是递归元素,它是一个列表,包括进一步的实例。最低深度没有子级(为0),是我想要访问的表示。因此,在这种情况下,我会访问数据 最终,我希望在最低级别的数据表示像:

  • 问题内容: 考虑一个这样的表: 其中存储了一个简单的目录结构。如何通过单个SELECT查询获得目录的所有子目录? 问题答案: 可以,但是您需要更改数据库结构;进行更改后,您可以在一个查询中检索任意深度的树。查询稍微复杂一些,但是仍然非常简单。 在数据库(SitePoint)中存储分层数据 -本文是分步进行的,非常清楚。 在MySQL中管理分层数据 -与上述内容不同。

  • 问题内容: 我有一个Person类,我想创建一棵树。这是Person类的解释器。 c1是左边的孩子,c2是右边的孩子。所以说我创建了三个这样的人: 因此,在这里您说亚当是根节点,亚当的左孩子是b,这是芭芭拉,他的右c是卡尔,依此类推。 所以我想做的是编写一个count方法,该方法计算包括在内的子代数。因此a.count()将返回6(如果Person f没有任何孩子)。 这是我的代码: 我在纸上运行