mysql通过函数实现递归

with recursive census (select c1.* from census_unit c1 where c1.id=#{id}
union
select c2.* from census_unit c2 inner join census c3 on c3.id=c2.p_id
)
select census.* from census
其中census是自定义的表名(就是数据库中不存在这个表,根据递归创的虚拟表)。 c1.id=#{id}中,#{id}记录当前结点位置

注:该递归方式为向下递归,并且拿到的结果集包含父节点

原文地址:https://www.cnblogs.com/liyibo/p/15064415.html