mysql 根据id 查询父类ID,递归

SELECT
	T2.id,
	T2.name	
FROM
	(
	SELECT
		@r AS _id,
		( SELECT @r := parent_id FROM table1 WHERE id = _id ) AS parent_id,
		@l := @l + 1 AS lvl 
	FROM
		( SELECT @r := '149f3767-6c76-483e-bea6-9c2daf3abcbd', @l := 0 ) vars,
		table1 h 
	WHERE
		@r <> '0' 
	) T1
	JOIN table1 T2 ON T1._id = T2.id 
ORDER BY
	T1.lvl DESC

结果:

数据表:

mysql 根据id 查询父类ID,递归_第1张图片

 要注意类型,@r := 后面是字符串还是整型看查的是什么类型

你可能感兴趣的:(mysql)