В зависимости от размера таблицы и глубины ветвления может быть гораздо эффективнее извлечь всю таблицу и выполнить обход / подсчет в памяти вместо выдачи нескольких операторов выбора (также может быть и обратное).
у подсчитать количество всех дочерних узлов на любом уровне древовидной структуры, поддерживаемой в таблице, используя модель смежности (родительско-дочерний ключ). Структура таблицы и данные выглядят так:
id - item- parentid
1 - A -
2 - B - 1
3 - C - 1
4 - D - 2
5 - E - 2
6 - F - 3
7 - G - 3
8 - H - 5
9 - I - 5
10 - J - 9
11 - K - 4
Например, B имеет следующую структуру child и grand child:
BEHIJFK,Теперь, если вы хотите посчитать «Все дочерние узлы B», мой ответ должен быть 6.
Любое решение, основанное на чистых SQL-запросах, очень помогло бы. Или mysql / php также будет работать.
Спасибо!