Select 如何计算邻接列表中每个节点的直接子节点数
我使用邻接列表模型表示分层数据Select 如何计算邻接列表中每个节点的直接子节点数,select,mysql,adjacency-list,Select,Mysql,Adjacency List,我使用邻接列表模型表示分层数据 TABLE ID parentID title 我想知道,为每个节点选择直接子节点数的最简单方法是什么?如果可能的话,我想在一次选择中实现这一点,生成这样的结果集 RESULTS... ID title childCount 1 test1 10 2 test2 2 3 test3 0 etc... 谢谢你的建议 没有标题 SELECT parentID as ID,
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
如果您确实想要标题,我认为您需要一个自连接(可能慢得多):
我想Alex忘了“t2分组,家长ID” 您也可以尝试:
SELECT t1.ID as ID, t1.Title as Title, COUNT(t2.ID) as childCount
来自表t1
t1.ID=t2.parenID上的内部联接表t2
按t2.parentID分组
SELECT t1.ID as ID, t1.Title as Title, COUNT(t2.ID) as childCount