with RECURSIVE cte as
(
select id,
name,
order_no,
popedom_id_parent,
0 as level_
from (select *
from popedom sp
where is_menu = 1
and sp.popedom_id_parent = ‘100000‘)t2
union all
select k.id,
k.name,
k.order_no,
k.popedom_id_parent,
c.level_+1 as level_
from popedom k inner join cte c on c.id = k.popedom_id_parent
where is_menu = 1
)
select id,
name,
order_no,
popedom_id_parent,
level_
from cte where level_ < 2 order by level_, order_no;
?
原文:http://lyjilu.iteye.com/blog/2237662