MySQLのみを使用してクエリ/関数を記述すると、次の結果が得られますか?再帰的にテーブルの合計を取得しようとしています
例表:
+------------+ | ID | Child | +------------+ | 1 | 2 | | 1 | 3 | | 2 | NULL | | 3 | 4 | | 4 | 5 | | 4 | 6 | | 5 | NULL | | 6 | NULL | | 7 | NULL | +------------+
例の結果:平易な英語で
+------------+ | ID | Child | +------------+ | 1 | 5 | | 2 | 0 | | 3 | 3 | | 4 | 2 | | 5 | 0 | | 6 | 0 | | 7 | 0 | +------------+
:各IDのCOUNTとそのすべての子...と子供たち。
1's children are: 2, 3, 4, 5, 6 3's children are: 4, 5, 6 4's children are: 5, 6
私はそれはSUM(COUNT(CHILD))、その後、サブクエリ/機能/グループ化のいくつかの巧妙な使用に関係していると想像します。
参考:http://stackoverflow.com/questions/2191847/sql-cteを-counting-childs-recursion – Ara
Araのリンクされた回答に関連するMySQLで "with"を使用する:http://stackoverflow.com/questions/1382573/how-do-you-use-with-clause-in-mysql –