寒窗轩,寒川的个人网络博客,记录互联网事,学习网络编程、分享工作经验、人生感悟,包括但不限于程序代码、数据库、Office办公、随笔等内容。

MySQL如何根据父id递归查询所有子孙id

今天水一个SQL查询,如何根据根据父id递归查询所有子孙id,废话就不多说,直接上干货。

SELECT id    
FROM (    
SELECT t1.id, IF ( FIND_IN_SET(pid, @pids) > 0, @pids := CONCAT(@pids, ',', id), 0) AS ischild    
FROM (SELECT id, pid    
       	FROM category t    
       	ORDER BY pid, id    
       	) t1,    
       	(SELECT @pids := '1') t2    
) t3    
WHERE ischild != 0 OR id = '1'

其中id为查询id,pid为父id,category为表名,'1'为要查询的id值。最后可以加上OR id = '1' 表示查询结果包括自己,也可以不加。

这样就一次性查完id为1的所在子、孙id,在文章分类查询用处较大。

程序 2022-05-01 09:21:06 42 0 5075 MySQLSQL递归查询
文章写得不错?我是土豪我要在线打赏!
在线打赏

昵称:

验证码:验证码

评论:

文章分类
系统
程序
数据
Office
随笔
热门文章
文章推荐
免责声明
关于博主
开篇第一章
随机推荐
python读取文件夹下图片并生成pdf文件
摸死你个性签名集合
pidgin飞信证书错误处理办法
鼠年日记
PHP以Excel模板填充数据并生成新的Excel文件
一款绝佳的IM即时通软件MirandaIM
Google will say no to China because of hackers attack gmail?
pidgin升级到2.7.0居然安装失败
锻炼
教训
友情连接
春燕网络
谢润的博客
企安文库