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

bsd bsd 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
有这样一种树状结构的数据,层次不确定
注:括号中的数值是指该类型节点在父节点中的个数,如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
但是因为数据可能有数千万条
查询的效率成了个大问题
郁闷中!

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

相关推荐

评论 1
收藏 已收藏
分享
返回顶部
bsd
MySQL 57,062 成员 56,759 内容