通过sql实现传入父级id查询出所有的子集 最近刚好有个业务需要这样实现个功能,就是在点击查询列表详情的时候只会传入父级id,而详情得渲染出所有子集,那么做法有很多,可以直接通过代码递归查询去实现, 但很明显效率低下,所有考虑了下纯粹通过sql来实现这个功能点。 效果展示 如图这个“水果 ...
在一个表中,有这样的一个层级关系,ID为主键,PId为父级ID 关系如下图: 然后呢,现在的需求是,已知某一条记录的ID,求出它顶层父级的ID,也就是我们所谓的 寻根 计划。 这类问题解决方法很多,首先我用SQL中的函数来解决,许久不写,正好练习一下: 函数创建好了 有点递归的味道 下面给定参数,然后执行函数,看看结果 测试的结果 大功告成。 接下来,我们试试另一个方法。直接写查询语句来实现,这里 ...
2021-01-15 11:31 5 233 推荐指数:
通过sql实现传入父级id查询出所有的子集 最近刚好有个业务需要这样实现个功能,就是在点击查询列表详情的时候只会传入父级id,而详情得渲染出所有子集,那么做法有很多,可以直接通过代码递归查询去实现, 但很明显效率低下,所有考虑了下纯粹通过sql来实现这个功能点。 效果展示 如图这个“水果 ...
这里提供2个个人觉得比较常用的sql 一、 查询所有子级(不包含本身) 二、查询所有父级(包含本身) 以上2个查询id为我的主键 , c_core_org 是我的表名,parent_id 是我的父id字段 分享到此结束, 感谢观看 ...
背 景: 在MySQL中如果是有限的层次,比如我们事先如果可以确定这个树的最大深度, 那么所有节点为根的树的深度均不会超过树的最大深度,则我们可以直接通过left join来实现。 但很多时候我 ...
在树形结构表查询中用得最多的就是查询指定分类的所有下级分类,这个性能比较好的解决方案是为分类加一个编码(路径)把父级的ID都拼接上,最后通过like 'x%'就能把所有下级分类select出来。但是有时也会遇到反过来,找出指定分类的所有上级分类,这个情况尤其在分销或类传销的系统中最 ...
树形表结构: id parentID isDel 1 0 0 2 1 0 3 1 1 4 2 0 5 2 0 ...
通过父ID查询下级ID很常见,本人遇到后做一个记录 1,第一种方法是只能查询到该ID的下一级,不包含父ID,而且只能查询到一级 2,第二种方法采用递归方法,先写一个递归函数,在数据库中,然后调用该函数即可 递归函数如下:特别注意我采用了 LONGTEXT ...
获取父IDs: 获取子IDs: ...
如 有个表里有字段id,name,.....当name是重复时取其id最大的一条记录 select max(id) id,name from 表 group by name --最小用mini--如果表中还有其他字段要查出,那么select * from 表 where id in(select ...