当前位置: 首页 > backend >正文

mysql递归查询所有父节点拼接父节点名称

只能查询单条
WITH RECURSIVE parent_cte AS (
SELECT id, name, parentId
FROM tbl_customer
WHERE id = 2 – 起始节点ID
UNION ALL
SELECT d.id, d.name, d.parentId
FROM tbl_customer d
INNER JOIN parent_cte p ON d.id = p.parentId
)
SELECT GROUP_CONCAT(name ORDER BY parentId ASC SEPARATOR ’ -> ') AS parent_names
FROM parent_cte ;
解释:

‌递归CTE(Common Table Expression)‌:

WITH RECURSIVE parent_cte AS (…) 定义了一个递归CTE,名为parent_cte。
基础查询部分(SELECT id, name, parentId FROM tbl_customer WHERE id = 2)选择了起始节点(id=2)。
递归查询部分(SELECT d.id, d.name, d.parentId FROM tbl_customer d INNER JOIN parent_cte p ON d.id = p.parentId)通过自连接递归地查找父节点。
‌字符串拼接‌:

SELECT GROUP_CONCAT(name ORDER BY parentId ASC SEPARATOR ’ -> ‘) AS parent_names FROM parent_cte 使用GROUP_CONCAT函数将所有父节点的名称按parentId升序拼接成一个字符串,并使用’ -> '作为分隔符。
默认查询所有,单条查询在最后的查询语句中添加条件即可
WITH RECURSIVE CategoryPath AS (
SELECT
id,
name,
parentId,
name AS path_name
FROM
tbl_customer
WHERE
parentId=0 – 假设顶级分类的parentId为0
UNION ALL
SELECT
c.id,
c.name,
c.parentId,
CONCAT(cp.path_name, ’ -> ', c.name) AS path_name
FROM
tbl_customer c
JOIN
CategoryPath cp ON c.parentId = cp.id
)
SELECT
id,
path_name AS full_path_name
FROM
CategoryPath;

http://www.xdnf.cn/news/13704.html

相关文章:

  • 使用Gradle打包springboot项目为JAR包教程
  • 蓝凌EKP产品:低门槛、可扩展、可视化公式引擎应用示例
  • 功能化组件编码流程-2(延续上一章)
  • 《HarmonyOSNext属性动画实战手册:让UI丝滑起舞的魔法指南》
  • 人工智能新范式:从大模型到智能体的演化逻辑
  • 语音信号处理三十——高效多相抽取器(Polyphase+Noble)
  • Java并发编程实战 Day 18:线程池深度剖析与自定义实现
  • 工业自动化网关在饮料行业中的应用:DeviceNet转Modbus RTU协议转换网关案例
  • sssssssssssss
  • 电子电路原理第十八章(有源滤波器)
  • 【C#如何计算从某一个日期到今天过了多少天】2022-4-24
  • 94. 评论日记
  • Linux CPU 亲和性
  • ARM架构下安装mysql8.0
  • Dagster软件定义资产(SDA)完全指南:从概念到落地实践
  • 研发效能提升--质量改进完美闭环
  • TTS走向拟人化时代:数据堂高质量语音资源全面支撑模型升级
  • 库架一体式货架:重塑现代仓储空间的智能解决方案
  • 简单的五子棋实现简介
  • 【【大模型训练】中短序列attention 和MOE层并行方式】(三)
  • 从编辑到安全设置: 如何满足专业文档PDF处理需求
  • 汇编字符串比较函数
  • yapi服务端可视化安装
  • C++设计模式:八股文
  • (简单介绍)EleutherAI
  • MS8188是一款36V高精度低噪声的运算放大器,采用高压斩波技术来实现零温漂的特性,可替代LT1012/ADA4522/MAX44244/TPA1831
  • π0.5与π0区别
  • Mentalab Explore 开源 EEG 软件方案:构建开放兼容的脑电研究生态
  • 动态规划1——线性动态规划
  • 创客匠人助力家庭教育IP破局:从0到1打造创始人个人品牌全攻略