MySQL5.7递归查询

向下递归查询

sql 复制代码
SELECT ID,NAME,PARENT_ID,LEVEL_
	FROM(SELECT @ID AS _IDS,
	           (SELECT @ID := GROUP_CONCAT(ID)
					FROM TREE_TABLE 
				WHERE FIND_IN_SET(PARENT_ID,@ID) > 0
				AND REMOVE = 'N') T1,
				@L := @L + 1 AS LEVEL_
			FROM TREE_TABLE,
			(SELECT @ID := 'start', @L:= 0) T2
		   	WHERE @ID IS NOT NULL) T3,
           TREE_TABLE T4
   WHERE FIND_IN_SET(T4.ID,T3._IDS) > 0
ORDER BY T3.LEVEL_,T4.SORT

start为开始递归的父ID,LEVEL为层级,SORT为原来表里的排序字段。

相关推荐
朱小勇本勇13 分钟前
Clang Code Model: Error: The clangbackend executable “D:\Soft\Qt5.12.12\Tool
运维·服务器·数据库·qt·nginx
代码的余温24 分钟前
B树与B+树:数据库索引背后的秘密
数据结构·数据库·b树
noravinsc29 分钟前
django filter 筛选 取出全部用户id
数据库·mysql
不恋水的雨1 小时前
解决sql查询中in查询项过多时很慢的问题
数据库·sql·mysql
betazhou1 小时前
Oracle goldengate参数:TRANLOGOPTIONS DBLOGREADER
数据库·oracle·dblogreader
云心雨禅1 小时前
Spring Boot热更新技巧:节省90%重启时间
java·数据库·spring boot
码上库利南1 小时前
详细讲解Redis为什么被设计成单线程
数据库·redis·缓存
.似水2 小时前
MySQL 索引和select优化
数据库·mysql
bbsh20992 小时前
WebFuture:ASP.NET启动失败报500.30错误
数据库·webfuture
胆大的3 小时前
SQL 盲注(Blind SQL Injection)
数据库·sql·安全性测试