我有一个包含ID
,Amount
和的表Parent_ID
。(实际上它有点复杂,但这是本示例的所有重要列)。基本上我想要做的是按最低的公共父级(即父级ID为NULL的那些)对Amount列进行分组和求和。
ID Amount Parent_ID
1 100 NULL
2 150 1
3 50 1
4 75 3
5 25 4
6 125 NULL
7 50 6
8 50 7
9 100 8
预期成绩:
ID SUM
1 400
6 325
如您所见,它只返回两条记录,即没有父项的记录,这意味着它们是顶级项目。Sum 列是其所有子项的Amount
递归总和,因此ID
= 1 是 1、2、3、4 和 5 的总和。ID
= 6 是 6、7、8 和 9 的总和。