Как найти уровень и количество детей в двоичном дереве
уважаемый друг,
Я должен разработать МЛМ-проект, я хочу рассчитать
1. Количество детей от каждого узла.
2. Найдите уровень узла.
1
/ \
2 3
/ \ / \
4 5 6 7
Например, тот. номер ребенка для "1" равен 6
Тот. нет. детей на '2' - это 2
Тот. номер ребенка для '4' равен 0
...........
Что я уже пробовал:
У меня есть такая таблица БД:
идентификатор ид_родительского_объекта ногу
--------------------
1 0
2 1 л
3 1 Р
4 2 л
5 2 Р
6 3 л
7 3 р
Я попробовал эту функцию она делает ошибку:
Создать get_counts функция(int значение) возвращает значение типа int
НЕ ДЕТЕРМИНИРОВАННЫЙ
ЧТЕНИЕ ДАННЫХ SQL
НАЧАТЬ
Объявить _id INT;
Объявить _parent INT;
Объявить _next INT;
Объявить продолжить обработчик не найден набор @идентификатор = значение null;
SET _parent = @id;
SET _id = -1;
Если @id равен нулю, то
ВОЗВРАЩАТЬ NULL;
КОНЕЦ, ЕСЛИ;
ПЕТЛЯ
Выберите MIN (id)
В @id
Из my_registration
Где sponser_id = _parent
И id > _id;
Если @id не равен NULL или _parent = @start_with, то
SET @level = @level + 1;
Возвращение @ИД;
КОНЕЦ, ЕСЛИ;
SET @level := @level-1;
Выберите id, sponser_id
В _id, _parent
Из my_registration
Где id = _parent;
КОНЦЕВАЯ ПЕТЛЯ;
КОНЕЦ
Ошибка: MySQL сказал: документация
#1064 - у вас есть ошибка в синтаксисе SQL; проверьте руководство, которое соответствует вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с " в строке 5
Patrice T
Каждый идентификатор узла - это буква или цифра ?
дерево имеет 7 узлов, а таблица-5 узлов.
Можете ли вы сделать дерево и стол совпадающими ?
Vivek.anand34
номер
Patrice T
Убедитесь, что дерево и таблица совпадают.
Это делает вещи проще для всех.
Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Vivek.anand34
это письмо, например, для. Я сказал