本站承诺永不接任何虚假欺骗、联盟广告、弹窗广告、病毒广告、诱导充值等影响用户体验的广告,广告屏蔽插件会影响本站部分功能,还请不要屏蔽本站广告,感谢支持!

当前位置:首页 / 正文

2022-02-08 | 编程技术 | 4333 次阅读 | 等你评论 | 0 次点赞 | 繁体

递归查询分为父子查询和子父查询。

父子查询:
根据父 id 查询下面所有子节点数据;

子父查询:
根据子 id 查询上面所有父节点数据;

下边就利用 mysql8 新增语法实现递归查询,表结构及数据如下图:

图片alt

父子查询:

with recursive r as
(
select id,name from c where id=1
union all
select c.id,CONCAT(r.name, '>', c.name) as name from c,r where r.id = c.ParentID
)
select id,name from r order by id;

查询结果如下:

图片alt

子父查询:

with recursive r as
(
select * from c where id =11
union all
select c.* from c,r where c.id=r.ParentID
)
select * from r order by id;

查询结果如下:

图片alt

via:
MySQL :: MySQL 8.0 Reference Manual :: 13.2.15 WITH (Common Table Expressions)
https://dev.mysql.com/doc/refman/8.0/en/with.html#common-table-expressions-recursive

标签: mysql数据骚操作

猜你喜欢
白嫖移动,联通,电信手机短信通知
无论在生活中或者工作中,对于一些比较紧急的事情,可能需要发送个通知!比如:自建的服务器突然宕机,如何自动发短信通知运维主管?后台服务日志大量报错如何第一时间发短信通知码农geigei?类似的情景...
通用的检测到广告屏蔽插件进行弹窗提示实现方法
用的 js 方法来检测,按理说所有博客都能使用,就是在打开网页的时候进行一次判断。如果发现没有加载广告代码,就会出来一个弹窗来提示浏览者将本站加到广告拦截插件的白名单里面。别喷我,个人站长经营实...
如何找回微信已过期文件教程
现在基本人人都会使用微信,微信里面保存着很多文件。但是过段时间去看,你可能由于当时没有保存或者根本就没有点开过,微信文件名称显示红色,这表示已经过期了。难道我们要再问别人重发一遍吗?这可能会有点...
局域内网的服务器利用个人电脑做跳板机访问互联网
公司内网的服务器均不连公网(互联网),问题来了:现在服务器上需要安装一些软件怎么办?目前一般都是编译安装!先将软件在外网机器上下载好,然后再复制到服务器内,编译安装!这种方式缺点就是比较麻烦,编...
ssh-chat- SSH命令行下聊天摸鱼服务
ssh-chat 是一个使用 Go 语言编写的定制 SSH 服务器,当你连到该服务器时就会进入聊天模式,就好像以前的终端 BBS 系统一样。官方 Github: https://github.c...
Python小技巧之不用GUI,照样实现图形界面
小王平常的工作是做数据处理的,手中自然握有大量的数据,在日常工作中经常需要根据业务的需求提取相应的数据,有些需求是固定的,写好脚本之后只要定期提取数据就行了。但是,像我这么懒的人,这种工作怎么可...
据传宝塔面板后台会上传服务器上运行的网站信息
近期有网友根据 Github 上公开的源代码,发现宝塔面板会收集如下信息(信息真假自辩):(1)收集你所在服务器上的域名,并检查域名是否可用;(2)收集面板操作日志包括时间、用户ip、请求方式、...
如何定位Mysql中CPU占用高的查询语句
今天 mysql 服务器突然 CPU 告警,记录一下问题查找的过程第一步查看具体是哪个线程占用CPU最高1、在 Linux 中使用 top 命令找到 mysql 进程 PID2、指定进程 PID...
MAC系统制作ubuntu启动U盘教程
最近新买了一台便宜的低功耗小主机惠普 T620,CPU 是 AMD 的 GX-415GA,4G 内存,准备给他刷个 ubuntu 系统,用来做简易的 NAS,并且安装 homeassistant 用作
分享几个免费 IP 定位 api
在做定位的朋友,如果只是单纯的想获取地址而又不想集成高德等第三方 sdk,可以试试以下地址: ``` https://ip.seeip.org/geoip https://ip.seeip.or
ssh-chat- SSH命令行下聊天摸鱼服务
ssh-chat 是一个使用 Go 语言编写的定制 SSH 服务器,当你连到该服务器时就会进入聊天模式,就好像以前的终端 BBS 系统一样。 官方 Github: https://github.
crond 引发大量 sendmail 进程的解决办法
# 发现问题 这两天看到几台服务器比较异常,平常流量跑满,突然就没有了流量,TCP 连接也没了。于是登录上服务器查看,首先想重启 nginx 服务,结果报错,大致意思就是磁盘空间已满。通过 `d
(首次提交评论需审核通过才会显示,请勿重复提交)