寒窗轩,寒川的个人网络博客,记录互联网事,学习网络编程、分享工作经验、人生感悟,包括但不限于程序代码、数据库、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 5 0 1320 MySQLSQL递归查询
文章写得不错?我是土豪我要在线打赏!
在线打赏

昵称:

验证码:验证码

评论:

文章分类
系统
程序
数据
Office
随笔
热门文章
Excel文件内容很少,但文件很大,打开很慢、很卡怎么办?
Excel文件内容很少,但文件很大,打开很慢怎么办?
Ubuntu22.04中用thunar替换默认文件管理器,提示无法启动“TerminalEmulator“的首选应用程序
如何利用python修改文件的创建时间,修改时间,访问时间
文章推荐
请不要奇怪,为什么最近博客的文章是几年前的内容
免责声明
关于博主
开篇第一章
随机推荐
php实现多个域名指向同一网站的301转向
开场白
access数据库密码破解太容易了。
记录一下这一伟大历史的开心时刻
happy birthday to myself
PHP实现远程下载,并显示实时下载进度
apache .htaccess强制访问手机,电脑页面
Excel动态引用各表格指定单元格数据
C语言写的一个万年历
cn玉米即将叫停?!
友情连接
春燕网络
乌拉文档
谢润的博客