对于像这样的简单数据结构:
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作为参考,层次结构树如下所示:
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“,如下所示:
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上的多个内部连接卡住了。也许有人能帮我个忙。
发布于 2012-11-18 18:57:16
考虑使用修改的前序树遍历方式来存储分层数据。请参阅http://www.sitepoint.com/hierarchical-data-database/
然后,确定任何节点的子节点数量就变得很简单:
SELECT (right-left-1) / 2 AS num_children FROM ...https://stackoverflow.com/questions/2340696
复制相似问题