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;

结果:满足条件

相关推荐
殷紫川8 分钟前
一文搞懂 MySQL 核心架构:Server 层与存储引擎全拆解
mysql·架构
spencer_tseng11 分钟前
18632862rows 2.76GB SQL
sql·mysql·database
czlczl2002092518 分钟前
Redis延迟队列
数据库·redis·缓存
毅炼19 分钟前
Spring总结(2)
java·数据库·sql·spring
三金1213828 分钟前
Redis常见命令
数据库·redis·缓存
贝锐30 分钟前
无需公网IP!向日葵端口映射远程访问内网SQL Server数据库
sql·远程·端口映射
V1ncent Chen36 分钟前
SQL大师之路 15 条件分支
数据库·sql·mysql·数据分析
DomDanrtsey40 分钟前
国产数据库TiDB使用dumpling卸数与tidb-lightning导娄
数据库·tidb
九章-43 分钟前
金仓数据库迁移评估系统(KDMS)使用指南(一)
数据库·数据库迁移工具·kdms
@土豆1 小时前
ETCD集群部署指导(复制粘贴即可完成构建)
服务器·数据库·etcd