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;

结果:满足条件

相关推荐
b78gb1 小时前
电商秒杀系统设计 Java+MySQL实现高并发库存管理与订单处理
java·开发语言·mysql
奥尔特星云大使1 小时前
CentOS 7 安装 MySQL 8
mysql·centos·mysql 8
lang201509282 小时前
MySQL FIPS模式:安全合规全解析
mysql
一只叫煤球的猫4 小时前
建了索引还是慢?索引失效原因有哪些?这10个坑你踩了几个
后端·mysql·性能优化
呼哧呼哧.5 小时前
Spring的核心思想与注解
数据库·sql·spring
21号 16 小时前
9.Redis 集群(重在理解)
数据库·redis·算法
爬山算法6 小时前
Redis(73)如何处理Redis分布式锁的死锁问题?
数据库·redis·分布式
嘗_6 小时前
sql特训
数据库·sql
wan5555cn7 小时前
周末之美:慢下来,拥抱生活的温柔
数据库
yumgpkpm7 小时前
华为鲲鹏 Aarch64 环境下多 Oracle 、mysql数据库汇聚到Cloudera CDP7.3操作指南
大数据·数据库·mysql·华为·oracle·kafka·cloudera