ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 数据库 >> 其他数据库 >> mysql递归层次查询

mysql递归层次查询

来源:网络整理     时间:2016-05-11     关键词:Mysql

本篇文章主要介绍了"mysql递归层次查询",主要涉及到Mysql方面的内容,对于其他数据库感兴趣的同学可以参考一下: 首先,需要了解两个MySQL的原生函数FIND_IN_SET和group_concat:使用范例:SELECT FIND_IN_SET('a','a,b,c,d...

首先,需要了解两个MySQL的原生函数FIND_IN_SET和group_concat:

使用范例:

SELECT FIND_IN_SET('a','a,b,c,d');

运行结果:1;

SELECT group_concat(cdbh) FROM ss_menu;

运行结果:1,3,4,6,7,8,9,10,……等;

创建树形递归函数:

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(cdbh) INTO sTempChd FROM ss_menu
             WHERE FIND_IN_SET(sjcd,sTempChd)>0; 
        END WHILE; 
        RETURN sTemp; 
END
/*查询此函数*/
select * FROM ss_menu m WHERE FIND_IN_SET(cdbh, func_menus(0)) ORDER BY sjcd;

返回的结果集如下所示:

mysql递归层次查询

参考文档:http://www.2cto.com/database/201209/152513.html

以上就介绍了mysql递归层次查询,包括了Mysql方面的内容,希望对其他数据库有兴趣的朋友有所帮助。

本文网址链接:http://www.codes51.com/article/detail_1016265.html

上一篇mysql 基本函数 下一篇mysql trace

相关图片

相关文章