Oracle和Mysql递归

MySql递归查询和Oracle递归查询 MySql的递归查询和 Oracle的递归查询 阅读详情

oracle对于树形查询可以使用start with ... connect by

select * from menu start with id='130000' connect by id = prior parent_id;

mysql随没有自带的语法支持,不过可以通过创建函数来实现递归查询

SELECT id AS ID,pid AS 父ID ,levels AS 父到子之间级数, paths AS 父到子路径 FROM (
     SELECT id,pid,
     @le:= IF (pid = 0 ,0,  
         IF( LOCATE( CONCAT('|',pid,':'),@pathlevel)   > 0  ,      
                  SUBSTRING_INDEX( SUBSTRING_INDEX(@pathlevel,CONCAT('|',pid,':'),-1),'|',1) +1
        ,@le+1) ) levels
     , @pathlevel:= CONCAT(@pathlevel,'|',id,':', @le ,'|') pathlevel
      , @pathnodes:= IF( pid =0,',0', 
           CONCAT_WS(',',
           IF( LOCATE( CONCAT('|',pid,':'),@pathall) > 0  , 
               SUBSTRING_INDEX( SUBSTRING_INDEX(@pathall,CONCAT('|',pid,':'),-1),'|',1)
              ,@pathnodes ) ,pid  ) )paths
    ,@pathall:=CONCAT(@pathall,'|',id,':', @pathnodes ,'|') pathall 
        FROM  treenodes, 
    (SELECT @le:=0,@pathlevel:='', @pathall:='',@pathnodes:='') vv
    ORDER BY  pid,id
    ) src
ORDER BY id

参考:

http://www.cnblogs.com/dukou/p/4691543.html

https://blog.youkuaiyun.com/guiguren/article/details/77574326

递归查询菜单树,支持mysql,oracle 递归查询菜单树,支持mysql,oracle,含表结构,递归查询菜单,支持mysql,oracle,含表结构递归查询菜单。 立即下载

相关推荐

【随机过程】Markov Chain的定义及发展历程与实际应用

本模块书写的初衷:由于在学习张波张景肖等学者所著的《应用随机过程》存在着不甚了解的知识点,经过个人查找资料并整理、分享,希望能够为有同样疑惑的读者贡献绵薄之力,同时如果个人编写内容有错误,恳请读者指正。本文为对《应用随机过程》第42页中Markov Chain基本概念的补充。1.Markov Chain的定义俄国数学家 Andrey Andreyevich Markov 研究并提出一个用数学方法就能解释自然变化的一般规律模型,被命名为马尔科夫链(Markov Chain)。

qq_49657150的博客 3749

MYSQL实现Oracle的Start with…Connect By递归树查询

因项目迁移,使用的数据库也需要从Oracle迁移到MySQL 其中有个功能使用到了Oracle的Start with…Connect By递归树查询,而MySQL中没有此函数,但可以通过。执行方法 以行显示查询节点为“2”下的所有节点。执行方法 查询节点为“2”下的所有节点。创建函数getChildList。的方式来解决这个问题。

Saberman 876

OpenCv案例(七): 基于OpenCvSharp计算图像的清晰度(自动对焦)

自动对焦,其实是对相机成像的清晰值得计算,若对焦不清晰,成像的清晰度低,视觉效果模糊。若是在工业检测行业,对焦不准确,可能会造成严重后果;对焦准确的图像,其清晰度高,对比度鲜明,层次明显。

qq_37835727的博客 7115

Mysql && Oracle 递归查询,树形结构查询 WITH RECURSIVE 、START WITH语句

Mysql && Oracle 递归查询,树形结构查询 WITH RECURSIVE 、START WITH语句

today_liqiu的博客 1323

DEXPI与Proteus XML:解锁过程工业P&ID数据互操作性的技术核心

本文深入探讨了DEXPI与Proteus XML在过程工业P&ID数据互操作性中的核心技术。通过解析DEXPI标准的开源特性和Proteus XML的架构设计,揭示了其在跨平台数据交换中的关键作用,并结合CADMATIC和西门子COMOS的实战案例,展示了如何实现高效的数据集成与转换。

weixin_29195615的博客 385

CAN 比特率和采样点计算

架构根据输入频率和比特率自动计算。

ldinvicible的专栏 787

oracle:order siblings by / join 、 mysql:创建动态表名及参数处理 / prepare语句 / 存储过程和函数区别简介...

oracle:order siblings by http://blog.youkuaiyun.com/z69183787/article/details/20770709 oracle:join http://www.cnblogs.com/kerrycode/p/5935704.html mysql创建动态表名及参数处理: http://blog.youkuaiyun.com/ljxfblog/articl...

weixin_30667301的博客 375

数字后端实现Innovus教程之手把手教你N种高亮timing path和clock tree方法

数字IC后端设计实现Innovus教程之手把手教你N种高亮timing path和clock tree方法

weixin_37584728的博客 3600

Order Siblings by 排序

在层次查询中,如果想让“亲兄弟”按规矩进行升序排序就需要使用ORDER SIBLINGS BY 这个特定的排序语句,若要降序输出可以在其后添加DESC关键字。 通过这个实验给大家展示一下这个“亲兄弟”间的排序功能。 1.回望关系“树”,这棵树中的B和C是亲兄弟,F和G是亲兄弟。注意,D和E不是亲兄弟,最多也就算是堂兄弟,“亲兄弟排序”功能对他们无效。 A / \ B C ...

lyu1026的博客 933

42、Windows Server Update Services(WSUS)全面指南

本文全面介绍了Windows Server Update Services(WSUS)的安装、配置、管理与优化策略。内容涵盖WSUS基础认知、客户端更新问题解决、多服务器架构设计、计算机分组策略、更新审批与报告查看,并深入探讨了SSL加密配置、性能优化、与其他系统(如AD和SCCM)集成以及常见故障排查方法。通过本指南,IT管理员可高效部署和管理企业级软件更新,提升安全性和运维效率。

cicd6pipeline的博客 99

《网络安全自学教程》- MySQL脱库原理和步骤

MySQL脱库,脱库的原理,怎么脱库,脱库的步骤,一库三表六字段

wangyuxiang946的博客 1万+

Oracle递归层次查询-亲兄弟间的排序ORDER SIBLINGS BY

原文地址 http://space.itpub.net/519536/viewspace-624176 在层次查询中,如果想让“亲兄弟”按规矩进行升序排序就不得不借助ORDERSIBLINGS BY这个特定的排序语句,若要降序输出可以在其后添加DESC关键字。 通过这个实验给大家展示一下这个“亲兄弟”间的排序功能。 1.回望关系“树”,这棵树中的B和C是亲兄弟,F和G是亲兄

软件架构师之路 1万+

YOLO26 改进 | 基于特征蒸馏 | 知识蒸馏 (Response & Feature-based Distillation)

本文系统介绍了YOLO26中的知识蒸馏技术,包含五大核心方法:基于响应的蒸馏(学习分类概率)、基于特征的蒸馏(学习中间层表示)、基于关系的蒸馏(学习特征关联)、通道维度蒸馏(CWD)和前景背景分离蒸馏(FGD)。文章深入解析了每种方法的数学原理与实现细节,并提出动态训练策略,包括一致性匹配和蒸馏权重退火机制。通过教师模型向学生模型传递"暗知识",在保持模型轻量化的同时逼近大模型性能。配套代码支持模块化组合不同蒸馏方法,为YOLO26模型压缩提供了一套完整的解决方案。

weixin_51988935的博客 275

MySql和Oracle的递归查询

        当数据库中的表格属于自关联表的时候,当根据parent_id去查询他所有的子集的时候(并且不知道树结构都多少层),就需要递归查询了.         我们经常遇到的情况有省市县三级联动,总银行和分支银行.我

shawemou的博客 2135

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

mysql和oracle实现递归_mysql以及oracle的递归查询

在oracle中实现递归查询的途径较多方法1:通过with子句实现递归with temp(id,parentid) as (select id,parentidfrom twhere t.id = '1'union allselect t.id, t.parentidfrom temp, twhere temp.parentid = t.id)with子句中递归with子句达到递归查询的效果方法2...

weixin_29324877的博客 377

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

oracle和mysql的sql递归方式

1、本例sql递归前提: 需要数据存在对应的父子关系,如子数据的parent_code为父项的code。 2、创建表和数据 create table T_DEPT ( id VARCHAR2(50) not null, admin_div VARCHAR2(50), admin_div_name VARCHAR2(500...

weisian的博客 618

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

oracle 和 mysql 中的递归查询用法

oracle 使用场景 用于B树等结构的递归查询,可以通过树中的一个节点来遍历该树 语法 start with connect by prior 语法: select … from tablename start with 条件1 connect by *** prior *** where 条件3; 创建table及值 create table TEST_TABLE ( parentid VARCHAR2(10), subid VARCH...

qq_43325216的博客 1603

oracle和mysql的递归查询

oracle:1.查询一个机构下所辖机构:(start with)select * from t00_organ t start with t.organkey=#uporgankey# connect by prior t.organkey=t.uporgankey ;2.例子(with 查询)with emps (employee_id, name, job_id, salary, lvl) ...

fei7837226的博客 464

MYSQL的递归和oracle的递归查询

[code="sql"]select p.productid,p.productnamecn level from product p start with parentid = 0 connect by prior p.productid = p.parentid; ---------------------------------------------------------- ...

大蘑菇 181

mysql类似oracle的递归_MYSQL的递归和oracle的递归查询

select p.productid,p.productnamecn level from product p start with parentid = 0connect by prior p.productid = p.parentid;----------------------------------------------------------CREATE FUNCTION getCh...

weixin_31693025的博客 298

Mysql和Oracle递归查询实现记录

最近遇到一个需求是后台管理系统要求用户管理成树形展示,并且另外一个事项管理里面要求按人员等级查看,比如管理员可以看到所有人员录入的事项,管理员下一级的人员可以看到其子类以及他自己录入的事项,这就要求用递归查询来实现,特此记录。 因为ORACLE对递归可以直接用CONNECT BY PRIOR 来实现很简单,但是mysql就没有此类函数,需要自己手动编写函数方法来实现。 一、实现子递归查询 1.单个子递归查询的实现 oracle中使用示例代码: SELECT U.ID FROM SYS_USER

code_ang的博客 681

mysql、sql server和oracle递归查询

1.sqlserver:获取本级及下级部门 WITH cte as( select deptId,deptName,superdeptid from ts_cttsp_dept where deptid=(select groups from ts_cttsp_staffInfo where staffNum=#{assignee,jdbcType=VARCHAR}) ...

tyjlearning的博客 413

Mysql8和Oracle实际项目中递归查询树形结构

Mysql8和Oracle实际项目中递归查询树形结构

qq_22610595的博客 889

Mysql和oracle中的递归层次查询(父子查询)

描述:最近遇到了一个问题,在mysql中如何完成节点下的所有节点或节点上的所有父节点的查询? 在Oracle中我们知道有一个Hierarchical Queries可以通过CONNECT BY来查询,但是,在MySQL中还没有对应的函数!!! 下面给出一个function来完成的方法 下面是sql脚本,想要运行的直接赋值粘贴进数据库即可。 好记性不如烂笔头 下面给出一个function来完成的方法 下面是sql脚本,想要运行的直接赋值粘贴进数据库即可。 创建表treenodes(可以根据需要进行更改)

weixin_35815479的博客 1414

Oracle 与 MySQL 递归CTE的区别

初始化查询语句用于创建初始结果集。递归查询语句可以对当前CTE进行自我引用。每一次递归查询语句执行的结果都会再次作为输入,传递给下一次查询。如果递归查询无法从上一次迭代中返回更多的数据,将会终止递归。合并结果集使用UNION ALL运算符用于合并初始化部分和递归部分的结果集。Oracle不支持RECURSIVE关键字。必须使用UNION ALL进行结果集的合并。MySQL需要使用RECURSIVE关键字。可以根据需求选择UNION或UNION ALL。

AGI爱好者_数仓&可视化&数据分析工程师_Vae’伯乐‘ 709
上一篇: 字符串-StringUtils.isEmpty();StringUtils.isBlank();StringUtils.equals();
下一篇: input标签autocomplete 属性
ZHOU_VIP
博客等级 码龄11年 1万+粉丝 1779原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZHOU_VIP

您的鼓励将是我创作最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值