`
sinykk
  • 浏览: 357705 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

mysql 层次查询 MySQL中进行树状所有子节点的查询

    博客分类:
  • db
阅读更多

1,先建函数

2,用语句查询

 

第一步

 

CREATE FUNCTION `getChildLst` (rootId INT) //注意红色的单引号
     RETURNS varchar(1000)
     BEGIN
       DECLARE sTemp VARCHAR(1000);
       DECLARE sTempChd VARCHAR(1000);
   
       SET sTemp = '$';
       SET sTempChd =cast(rootId as CHAR);
   
       WHILE sTempChd is not null DO
         SET sTemp = concat(sTemp,',',sTempChd);
         SELECT group_concat(id) INTO sTempChd FROM sinykk_url_sort where FIND_IN_SET(parent_id ,sTempChd)>0;
       END WHILE;
       RETURN sTemp;
     END

 

第二步

select * from sinykk_url_sort where FIND_IN_SET(id, getChildLst(1273));

分享到:
评论

相关推荐

    MySQL实现树状所有子节点查询的方法

    在MySQL中,实现树状所有子节点的查询并非像Oracle那样可以直接使用Hierarchical Queries和`CONNECT BY`语句。然而,尽管MySQL不直接支持这样的功能,我们仍然可以通过其他方法来达到相同的效果。以下将详细介绍几种...

    MySQL实现树状所有子节点查询的方法function

    MySQL实现树状所有子节点查询的方法function

    MySQL递归查询树状表的子节点、父节点具体实现

    在MySQL中,处理树状数据结构的查询是一个挑战,因为直到MySQL 8.0版本才引入了`WITH RECURSIVE`子句来支持递归查询。然而,在MySQL 5.0.94及更早版本中,如描述中提到的,没有内置的递归查询功能。为了遍历树状表的...

    mysql递归调用获取树节点(子树)

    在MySQL数据库中,处理层级关系数据,如组织结构、菜单系统或分类树等,常常需要进行递归查询来获取树状结构的子节点。这里我们将深入探讨如何在MySQL中使用存储过程来实现这一功能。 首先,为了理解这个过程,我们...

    使用递归删除树形结构的所有子节点(java和mysql实现)

    在 MySQL 中,可以使用递归查询来删除树形结构的所有子节点。以下为 MySQL 代码实现: ```sql CREATE PROCEDURE removeTreeNodes(IN k INT) BEGIN DECLARE done INT DEFAULT 0; DECLARE s INT; DECLARE cur1 ...

    递归查询菜单树,支持mysql,oracle

    在菜单树场景中,每个菜单项可能有子菜单项,形成一种树状结构。通过递归查询,我们可以获取到所有级别的菜单项,包括它们的父级和子级。 在MySQL中,我们可以使用自连接来实现递归查询。假设我们有一个名为`menus`...

    JDCB树状结构与MySQL安装,内附视频讲解

    在JDCB中,每个节点都可以包含子节点和二进制数据,形成一种类似于文件系统的层次结构。这种结构对于处理复杂的数据组织,如大型文件系统、数据库备份或嵌入式系统的存储管理,非常有用。JDCB的设计目标是高效、灵活...

    MySQL多种递归查询方法.docx

    - **解释**: 从`id = '1001'`开始,递归查询所有子节点及其子节点的信息,包括起始节点本身。 - **第二种情况**: `PRIOR`在子节点端(向下递归),开始条件为父节点 - **SQL示例**: ```sql SELECT * FROM dept ...

    mysql数据表导出生成xml文件和树形结构

    MySQL 数据表导出生成 XML 文件是一项常见的数据转换任务,它允许我们把数据库中的结构化数据转化为一种便于交换和处理的格式。XML(eXtensible Markup Language)是一种标记语言,常用于存储、传输和表示数据,尤其...

    MySQL通过自定义函数实现递归查询父级ID或者子级ID

    在MySQL中,递归查询通常用于处理层次结构的数据,如组织结构、菜单系统或类别树等。当数据的层级关系无法预知或者可能无限深时,传统的JOIN操作可能无法满足需求,此时就需要自定义函数来实现递归查询。本文将详细...

    树状数据(多叉树)在数据库中存储的示例源码

    一种常见的方式是使用连接查询来获取特定节点的所有子节点,或者使用递归查询(如MySQL的`WITH RECURSIVE`语句)来遍历整个树。此外,还可以利用预计算的`level`和`children_count`字段进行更高效的查询。 最后,...

    MySQL查询优化器的工作原理

    1. 解析查询语句并创建一个内部表示,这个表示是树状结构,每个节点代表查询中的一个操作或表。 2. 对内部表示进行规范化处理,主要是移除查询中的冗余部分,例如对于WHERE a=5和WHERE 5=a这样的查询,优化器会将其...

    JS + JSP + MYSQL 无限树

    例如,可以通过递归查询或者自连接查询来获取任意节点的所有子节点。 **4. 文件结构** 在项目文件中,"database" 目录包含了所有MySQL数据库相关的文件,可能包括数据文件(如`.sql`脚本)和配置文件(如`.cnf`)...

    mysql 索引与执行计划

    主要包括SIMPLE(简单的SELECT查询)、PRIMARY(包含子查询的外部查询)、SUBQUERY(子查询)、DEPENDENT SUBQUERY(依赖外部查询结果的子查询)等。 通过以上详细介绍,我们可以看出索引和执行计划对于提高MySQL...

    php与mysql实现无线分类

    例如,通过查询所有`parent_id`为0的记录作为顶层节点,然后对每个节点递归查询其子节点,直到没有子节点为止。 2. **树状路径**:另一种方法是在表中添加一个额外的字段,如`path`,用来存储分类的完整路径。例如...

    一步步打造高速mysql

    - **优化子查询**:尽量使用连接(JOIN)代替子查询,因为后者可能导致多次执行相同的查询。 - **使用EXPLAIN分析查询计划**:利用EXPLAIN命令来查看MySQL是如何执行SQL语句的,从而发现潜在的性能瓶颈。 #### 六、...

    ajax php mysql tree

    比如,一个函数可能负责获取指定节点的所有子节点,另一个函数可能处理添加或删除节点的请求。 - **数据库设计**:为了存储树形结构,可能采用预定义的层级关系(例如,每个记录包含一个父ID字段)或者自连接表(每...

    mysql无限级别树形菜单操作(附加JSP新闻发布系统)

    存储过程可能会接受一个参数,如父级菜单的`id`,然后通过递归调用自身,遍历所有子节点。 例如,一个简单的存储过程可能如下所示: ```sql DELIMITER // CREATE PROCEDURE GetSubCategories(IN parentId INT) ...

Global site tag (gtag.js) - Google Analytics