如何计算邻接列表中每个节点的直接子节点数
问题描述:
我有使用邻接列表模型表示的分层数据。如何计算邻接列表中每个节点的直接子节点数
TABLE
ID
parentID
title
我想知道,什么是最简单的方法来选择每个节点的直接孩子的数量?如果可能的话,我想这样做在一个单一的选择,从而产生像这样的结果集...
RESULTS...
ID title childCount
1 test1 10
2 test2 2
3 test3 0
etc...
谢谢你的建议!
答
没有标题,
SELECT parentID as ID, COUNT(ID) AS childCount
FROM Table
GROUP BY parentID
如果你想要的标题我想你需要一个自连接(可能是方法要慢):
SELECT t1.ID as ID, t1.Title as Title, COUNT(t2.ID) as childCount
FROM Table t1
LEFT OUTER JOIN Table t2
ON t1.ID = t2.parentID
答
我认为亚历克斯忘记“集团通过T2 .parentID”
,你也可以试试:
SELECT t1.ID as ID, t1.Title as Title, COUNT(t2.ID) as childCount
FROM表t1 INNER JOIN表t2 ON t1.ID = t2.parenID GROUP BY t2.parentID