还有一个类似的问题,询问如何找到孩子的顶级父级(this,this等)。我有一个类似的问题,但我想找到顶级父母的所有子女。 This是类似的问题,但使用wordpress预定义功能。
样本表:
re.sub(r"(?<=[a-zA-Z])(?=[0-9])", r" ", item)
我想选择ID最高的父级ID等于1的ID。输出应该为3,所有3个孩子的均值是(5,6),如果可以的话,甚至更深层次的孩子。
我知道我可以使用两次内部联接来选择它们,但是级别越高,级别越复杂。
答案 0 :(得分:0)
由于您没有爬整个梯子...
select *
from YourTable
where parent = (select top 1 parent from YourTable group by parent order by count(parent) desc)
如果您想返回3的父级,因为3列出的频率最高,那么您将使用递归CTE。
答案 1 :(得分:0)
简单的“递归CTE”将满足您的要求:
with n as (
select id from my_table where id = 1 -- starting row(s)
union all
select t.id
from n
join my_table t on t.parent_id = n.id
)
select id from n;
该CTE将在所有级别上无限进行。嗯...默认情况下,SQL Server将其限制为128个级别(可以增加到65k)。