寻求高手相助,一个查询统计问题

bsd 2005-04-01 12:55:07
有这样一种树状结构的数据,层次不确定
注:括号中的数值是指该类型节点在父节点中的个数,如A1中有2个B1,3个C1,等等
A1
|-B1(2)
| |-D1(3)
| |-D2(2)
| |-E3(5)
|
|-C1(3)
| |-F1(3)
| |-D2(5)
| |
| |-B1(3)
| | |-D1(3)
| | |-D2(2)
| | |-E3(5)
| |
| |-B2(2)
| | |-D1(2)
| | |-E3(3)
| |
|-E1(1)

现在需要查询某个节点下有多少个特定的子节点,
比如说C1下有多少个E3(即3个B1*5个E3+2个不*3个E3=21个)
或者某个节点下除某些节点以外其他节点下共有多少个特定的子节点
比如说C1下除B2外有多少个E3(即3个B1*5个E3=15个)

考虑到数据量相当庞大
数据库表如何设计比较好,查询语句该怎么写呢
原先的设计方式是建一张包含3个字段的表来描述这棵树
parent, child, number
但是因为数据可能有数千万条
查询的效率成了个大问题
郁闷中!

请诸位高手不吝赐教!谢了先!

...全文
105 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧