首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >统计层次化SQL数据中的子项数量

统计层次化SQL数据中的子项数量
EN

Stack Overflow用户
提问于 2010-02-26 17:51:50
回答 1查看 15.5K关注 0票数 23

对于像这样的简单数据结构:

代码语言:javascript
复制
ID    parentID    Text        Price
1                 Root
2     1           Flowers
3     1           Electro
4     2           Rose        10
5     2           Violet      5
6     4           Red Rose    12
7     3           Television  100
8     3           Radio       70
9     8           Webradio    90

作为参考,层次结构树如下所示:

代码语言:javascript
复制
ID    Text        Price
1     Root
|2    Flowers
|-4   Rose        10
| |-6 Red Rose    12
|-5   Violet      5
|3    Electro
|-7   Television  100
|-8   Radio       70
  |-9 Webradio    90

我想计算一下每个关卡的孩子数量。所以我会得到一个新的专栏"NoOfChildren“,如下所示:

代码语言:javascript
复制
ID    parentID    Text        Price  NoOfChildren
1                 Root               8
2     1           Flowers            3
3     1           Electro            3
4     2           Rose        10     1
5     2           Violet      5      0
6     4           Red Rose    12     0
7     3           Television  100    0
8     3           Radio       70     1
9     8           Webradio    90     0

我读了一些关于分层数据的东西,但不知何故被parentID上的多个内部连接卡住了。也许有人能帮我个忙。

EN

回答 1

Stack Overflow用户

发布于 2012-11-18 18:57:16

考虑使用修改的前序树遍历方式来存储分层数据。请参阅http://www.sitepoint.com/hierarchical-data-database/

然后,确定任何节点的子节点数量就变得很简单:

代码语言:javascript
复制
SELECT (right-left-1) / 2 AS num_children FROM ...
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2340696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档