ID
、、、Amount
およびを含む単一のテーブルがありParent_ID
ます。(実際にはもう少し複雑ですが、これがこの例のすべての重要な列です)。基本的に私がやりたいのは、Amount列を最も低い共通の親(つまり、親IDがNULLである親)でグループ化して合計することです。
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
ご覧のとおり、親がないレコードは2つのレコードのみを再調整します。つまり、これらはトップレベルのアイテムです。Sum列は、そのすべての子のAmount
再帰的な合計であるため、ID
= 1は1、2、3、4、および5の合計であり、ID
= 6は6、7、8、および9の合計です。