Mysql:通过一张表里的父子级,递归查询并且分组分级

表:gc_jzst_single_base

需求:要求返回这张表里符合条件的数据,且有父子级关系的,展示为同一组且分级,给后续业务调用

代码

sql 复制代码
WITH RECURSIVE t1 AS (
	SELECT
		single_id,
		old_build_single_id,
		single_name,
		bulid_code,
		1 AS LEVEL,
		single_id groupFlag 
	FROM
		gc_jzst_single_base 
	WHERE
		single_assort = '1' 
		AND build_status != '0' 
		AND single_type = 'DWGC_DTLX_0802' 
		AND old_build_single_id IS NULL UNION ALL
	SELECT
		b.single_id,
		b.old_build_single_id,
		b.single_name,
		b.bulid_code,
		t1.LEVEL + 1,
		t1.groupFlag 
	FROM
		gc_jzst_single_base b
		JOIN t1 
	WHERE
		b.old_build_single_id = t1.single_id 
		AND b.single_assort = '1' 
		AND b.build_status != '0' 
		AND b.single_type = 'DWGC_DTLX_0802' 
		AND b.old_build_single_id IS NOT NULL 
	) -- 终止条件部分
SELECT
	* 
FROM
	t1 
ORDER BY
	groupFlag;

结果:满足条件

相关推荐
weixin_580614003 分钟前
如何防止SQL注入利用存储过程_确保存储过程不拼字符串.txt
jvm·数据库·python
james的分享4 分钟前
向量数据库之Milvus
数据库·milvus
weixin_4087177718 分钟前
mysql权限表查询性能如何优化_MySQL系统权限缓存原理
jvm·数据库·python
吕源林19 分钟前
怎么优化MongoDB的软删除设计_布尔标记与删除时间戳
jvm·数据库·python
想唱rap21 分钟前
C++智能指针
linux·jvm·数据结构·c++·mysql·ubuntu·bash
吕源林25 分钟前
如何解决SQL存储过程连接泄露_确保在异常后关闭连接
jvm·数据库·python
Gofarlic_OMS43 分钟前
应对MathWorks合规审查的专项准备工作
大数据·服务器·网络·数据库·人工智能
七夜zippoe1 小时前
DolphinDB SQL查询:从基础到进阶
数据库·sql·进阶·聚合·dolphindb
wq_1 小时前
Mysql-MVCC
mysql·面试
有想法的py工程师1 小时前
PostgreSQL 深入heap_update() 与 HOT 机制(附源码级解析)
数据库·postgresql