怎么实现Mysql 无限层级查询?

用户表里面有 uid ,上级id ,其他就是一些用户信息

现在想要达到的效果是查询出某个uid 下面 的所有人 的uid

然后去通过下级uid集合 去订单表查询到某个用户所有下级的总消费

递归查询,可以参考下这个 http://t.csdn.cn/Jnocy

with recursive temp as (
select * from sys_menu p  
union all 
 select t.* from sys_menu t inner join temp t2 on t2.id = t.parent_id 
)
select *  from temp 

看版本,mysql8以上可以用with as 语句,8以下只能用递归,参考以下语法:

-- 根据一个子节点id,查询所有父节点(包含⾃⾝)
SELECT t2.id, t2.name, t2.pid
 FROM (SELECT @r as _id,
              (SELECT @r := pid FROM dept WHERE id = _id) as pid,
              @l := @l + 1 as lvl
         FROM (SELECT @r := '1014', @l := 0) vars, dept as h
        WHERE @r <> 0) t1
 JOIN dept t2
   ON t1._id = t2.id
ORDER BY T1.lvl DESC;