选择10名父母和他们所有的孩子

时间:2017-07-04 04:50:31

标签: php mysql sql

我有一个简单的表:idparent_idcontent

parent_id = 0项是父项,parent_id > 0项是儿童

现在我想选择10个父母和他们所有的孩子

使用2个查询很简单,可以在查询1中获取父项,然后在查询2中获取所有子项

但我想在1个查询中完成

我写过这个,但它不起作用:

select * 
from blogs 
where parent_id in (select id 
                    from blogs 
                    where parent_id = 0 
                    order by id desc 
                    limit 10) 
union all 
select * 
from blogs 
where parent_id = 0 
order by id 
desc limit 10

1 个答案:

答案 0 :(得分:1)

请检查下面提到的解决方案。

SELECT 
    t1.id as parent_id,
    t1.content as parent,
    GROUP_CONCAT(t2.content) as children
from blogs t1
INNER JOIN blogs t2 ON t2.parent_id = t1.id
WHERE t1.parent_id = 0
GROUP BY t1.id
LIMIT 10;

请在上述查询中更改table_namefield_name。 如果它不适合你,请告诉我。