0

我有使用邻接列表模型表示的分层数据。

TABLE
    ID
    parentID
    title

我想知道,为每个节点选择直接子节点数量的最简单方法是什么?如果可能的话,我想在一次选择中做到这一点,产生一个像这样的结果集......

RESULTS...
ID     title     childCount
1      test1     10
2      test2     2
3      test3     0
etc...

谢谢你的建议!

4

2 回答 2

0

我认为亚历克斯忘记了“按 t2.parentID 分组”

你也可以试试:

SELECT t1.ID as ID, t1.Title as Title, COUNT(t2.ID) as childCount 

FROM Table t1 INNER JOIN Table t2 ON t1.ID = t2.parenID GROUP BY t2.parentID

于 2010-09-01T16:02:03.110 回答
0

没有标题,

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
于 2010-06-15T03:18:02.917 回答