我的数据自然适合树形。因此,我有一个简单的SQL表来存储数据:{id,parentid,data1,...,dataN}

我希望能够“放大”数据并生成一个报告,其中总结了当前分支下的数据。
也就是说,当站在根目录中时,我希望拥有所有数据的总计。当我沿着树的某个分支行进时,我只想对仅针对该节点及其子节点找到的数据求和。

如何在SQL中编写这样的查询?

提前致谢!

/约翰

最佳答案

由于sqlite不支持CONNECT BY,除非您对数据使用nested sets or materialized paths,否则将无法在单个查询中执行此计算。

或者,以“困难的方式”进行操作并递归遍历树,从感兴趣的父节点开始对每个子节点进行一次查询。

另请参阅:


Managing Hierarchical Data in MySQL
Recursive Hierarchies: The Relational Taboo!

关于sql - 查询以汇总子树中的数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/621441/

10-11 01:34
查看更多