`

MYSQL 查找所有的父级或子级(多级)

 
阅读更多
举例t_user 表是父子级关系, 有字段id 和 字段parent_id



查找父级例子
sql语句 查找所有父级(包含本身)


SELECT T2.t_id
FROM (
    SELECT
    @r AS _id,
    (SELECT @r := parent_id FROM t_user WHERE t_id = _id) AS parent_id,
    @l := @l + 1 AS lvl FROM (SELECT @r := 5, @l := 0) vars,
      t_user h WHERE @r <> 0 AND parent_id > 0
  ) T1 JOIN t_user T2 ON T1._id = T2.t_id ORDER BY T1.lvl DESC

上面5是传参数id



查找子级例子
第一种方式:
SELECT  DATA.id  FROM(
            SELECT
                @ids as _ids,
                (
                    SELECT @ids := GROUP_CONCAT(id) 
                    FROM t_user
                    WHERE FIND_IN_SET(parent_id, @ids)
                ) as cids,
                @l := @l+1 as level
            FROM t_user,
            (SELECT @ids :=#{id}, @l := 0 ) b
       
        ) id, t_user DATA
        WHERE FIND_IN_SET(DATA.id, ID._ids)
        ORDER BY  id
上面#{id}是传参数id



第二种方式(可能有点错误):
sql语句 查找所有子级(不包含本身)
SELECT t_id FROM
(
    SELECT * FROM t_user where parent_id > 0 ORDER BY parent_id, t_id DESC
  ) realname_sorted,
  (SELECT @pv :=1) initialisation
  WHERE (FIND_IN_SET(parent_id,@pv)>0 And @pv := concat(@pv, ',', t_id))
上面1是传参数id

分享到:
评论

相关推荐

    mysql 省市级三级联动所有数据,绝不坑人

    mysql 省市级三级联动所有数据,绝不坑人 ....................................................................................................

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

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

    php获取子级,父级,无限极分类,带demo,效率超高

    php获取子级,父级,无限极分类,带demo,效率超高。下载请评价,谢谢!!!买到就是赚到,一直在用

    mysql数据库全文多库多表查找,查询所有数据库中包含指定字符的数据。

    mysql数据库全文查找,查询所有数据库中包含指定字符的数据。 一、支持功能: 1、支持所有数据库查询字符串,或者指定一个或者多个数据库查询字符串; 2、支持本地使用或者指定远程数据库地址; 3、支持命令行指定...

    Ztree+treeTable实现 Java实现 树形菜单 树形表格

    在Java项目中,我们通常会结合后台服务(如Spring MVC或Servlet)来动态生成Ztree的数据源,然后通过Ajax请求传递到前端进行渲染。 1. **Ztree的配置与使用**: Ztree的配置主要涉及JSON数据格式和HTML结构。你...

    70、修复父评论删除时子评论同时删除的问题1

    - 创建或修改`CommentListener`类,添加`fixCommentTitleAndLevelWhenRemove()`方法,用于处理删除“父评论”后的逻辑。具体包括: - 获取当前评论对象的所有“子评论”对象。 - 遍历这些“子评论”,根据条件...

    bootstrap-treeview 实现的web后台管理 多级(无限级)分类菜单-springboot mybatis mysql

    bootstrap-treeview 实现的web后台管理常用到的左侧 多级(无限级)分类菜单-idea springboot mybatis mysql技术实现,完整的一个小实例,有效果图,数据库表字段,下载即可运行。

    改进的多级树形菜单dtree,eclipse开发。mysql数据库,S2SH架构—(1)

    改进的多级树形菜单dtree,eclipse开发。mysql数据库,S2SH架构,有源码和jar包。 共两部分。这是第一部分

    MySQL递归查询

    MySQL 递归查询是指在 MySQL 中实现类似 Oracle Hierarchical Queries 的功能,用于查询树形结构中的所有子节点。由于 MySQL 目前还没有内置的递归查询功能,因此需要使用其他方法来实现。 第一种方法:使用函数来...

    mysql(多级分销)无限极数据库设计之嵌套集完整性程序源码和脚本,go增删改查

    mysql(多级分销)无限极数据库设计方案(邻接表,路径枚举,闭包表,嵌套集);前三种好理解,最后一种嵌套集设计需要程序维持完整性,这里着重讲解设计思路,并附有Golang实现的源码(增删改查),各位同仁可斟酌...

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

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

    php+ajax+mysql省市县三级联动(1张数据库).zip

    6. **数据库设计**: 为了实现三级联动,数据库设计需要合理,通常会有一个地区表,包含省份、城市和县的数据,它们之间可能存在父级-子级关系。例如,省份ID可以作为城市表的外键,城市ID又可以作为县表的外键。 这...

    修正了bug的php+mysql+jquery联动菜单

    在本例中,有三个级别的菜单,即父级、子级和孙子级。用户选择父级菜单后,对应的子级菜单会自动加载;继续选择子级,孙子级菜单也会相应地显示出来。 5. AJAX(Asynchronous JavaScript and XML):在jQuery中,...

    Mysql 查询根节点下所有叶子节点

    1、SELECT * FROM ( SELECT d.id, ( SELECT count( 1 ) FROM t_tree dd WHERE dd.parent_uuid = d.id ) AS count FROM t_tree d ) a ... t3.id NOT IN ( SELECT t1.id FROM t_tree t1, t_tree t2 WHERE ...

    MySQL中的树状复制:构建多级数据同步架构

    在数据库的高可用和扩展性需求日益增长的今天,MySQL的树状复制(也称为级联复制或多级复制)成为了解决这些挑战的有效手段之一。树状复制通过在多个数据库实例之间建立复制链,实现了数据的多级同步,从而减轻了主...

    Web数据多级联动

    - `parent_id`: 父级区域ID,若为顶级则为0或其他特殊值。 ##### 2. PHP与jQuery结合实现前端动态加载 - **前端部分**:使用HTML与jQuery实现前端界面及事件监听。 - **后端部分**:使用PHP处理Ajax请求,并从...

    linux下彻底卸载mysql

    彻底卸载 Linux 下的 MySQL 需要完成五个步骤:查找以前是否装有 MySQL,停止 MySQL 服务和删除之前安装的 MySQL,查找之前老版本 MySQL 的目录并删除老版本 MySQL 的文件和库,删除 /etc/my.cnf 文件,和再次查找...

    mysql查找程序

    MySQL查找程序是一个非常实用的工具,它主要用于在不熟悉或大型的数据库中快速定位特定字符串出现的表和字段。在数据库开发和维护过程中,这样的工具能够极大地提高工作效率,尤其是在处理复杂的数据关系时。以下是...

    全国交全面的省市县地区名称mysql和mssql语句.zip

    5. **触发器**:可能包含触发器来确保数据一致性,例如当插入或更新地区信息时,自动维护父级和子级之间的关系。 对于开发人员来说,理解并正确使用这些SQL语句至关重要,因为它们将直接影响到应用程序如何检索和...

Global site tag (gtag.js) - Google Analytics