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
结果:
数据表:
要注意类型,@r := 后面是字符串还是整型看查的是什么类型