Возможно ли, используя только 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 и все их дети ... и их детей.
1's children are: 2, 3, 4, 5, 6 3's children are: 4, 5, 6 4's children are: 5, 6
Я предполагаю, что это связано с какой-то умное использование подзапросов/функций/группирования, то SUM (COUNT (РЕБЕНОК)).
Ref: http://stackoverflow.com/questions/2191847/sql-cte -counting-childs-recursion – Ara
Использование «с» с MySQL связано с связанным ответом Ara: http://stackoverflow.com/questions/1382573/how-do-you-use-the-with-clause-in-mysql –