我有使用邻接列表模型表示的分层数据。
TABLE
ID
parentID
title
我想知道,为每个节点选择直接子节点数量的最简单方法是什么?如果可能的话,我想在一次选择中做到这一点,产生一个像这样的结果集......
RESULTS...
ID title childCount
1 test1 10
2 test2 2
3 test3 0
etc...
谢谢你的建议!
我有使用邻接列表模型表示的分层数据。
TABLE
ID
parentID
title
我想知道,为每个节点选择直接子节点数量的最简单方法是什么?如果可能的话,我想在一次选择中做到这一点,产生一个像这样的结果集......
RESULTS...
ID title childCount
1 test1 10
2 test2 2
3 test3 0
etc...
谢谢你的建议!
我认为亚历克斯忘记了“按 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
没有标题,
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