MYSQL根据节点向上和向下查询所有节点

Posted 冰封的心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL根据节点向上和向下查询所有节点相关的知识,希望对你有一定的参考价值。

WITH cte
AS
(
SELECT * ,UnitID AS level FROM UnitTable WHERE UnitID=2
UNION ALL
SELECT g.*,level+1 FROM UnitTable g INNER JOIN cte
ON g.FatherID=cte.UnitID
)
SELECT * FROM cte

 

WITH cte
AS
(
SELECT *,0 as level FROM UnitTable WHERE FatherID=0
UNION ALL
SELECT g.*,level+1 FROM UnitTable g INNER JOIN cte
ON g.FatherID=cte.UnitID

)
SELECT * FROM cte


WITH cte
AS
(
SELECT * ,UnitID AS level FROM UnitTable WHERE UnitID=2
UNION ALL
SELECT g.*,g.UnitID AS level FROM UnitTable g INNER JOIN cte ON g.UnitId=cte.FatherID
)
SELECT * FROM cte

以上是关于MYSQL根据节点向上和向下查询所有节点的主要内容,如果未能解决你的问题,请参考以下文章

mysql查询一个表,实现递归查询

SQL递归获取所有父节点的函数

JS根据子节点递归获取所有父节点的集合

php与mysql表中如何求递归求和汇总?

mysql如何无限极查找最顶层id节点

mysql如何根据很多子节点查询出父节点,只要一条路径上的