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;

结果:满足条件

相关推荐
q***44922 分钟前
如何在 Ubuntu 22.04 上安装 MySQL
linux·mysql·ubuntu
r***869823 分钟前
mysql的主从配置
android·mysql·adb
q***46433 分钟前
离线安装 Nginx
运维·数据库·nginx
我科绝伦(Huanhuan Zhou)42 分钟前
SQL进阶必备:从计算字段到多表联结,让查询效率翻倍!
数据库·sql
百***48071 小时前
Linux下MySQL的简单使用
linux·mysql·adb
i***48612 小时前
Redis重大版本整理(Redis2.6-Redis7.0)
java·数据库·redis
r***86982 小时前
Redis 6.2.7安装配置
前端·数据库·redis
是Judy咋!2 小时前
Mongodb---副本集搭建(hashed分片)
数据库·mongodb·centos
q***14642 小时前
MySQL 批量插入详解:快速提升大数据导入效率的实战方法
大数据·数据库·mysql
Unstoppable222 小时前
八股训练营第 21 天 | Redis的数据类型有哪些?Redis是单线程的还是多线程的,为什么?说一说Redis持久化机制有哪些?
数据库·redis·缓存·八股