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