В зависимости от размера таблицы и глубины ветвления может быть гораздо эффективнее извлечь всю таблицу и выполнить обход / подсчет в памяти вместо выдачи нескольких операторов выбора (также может быть и обратное).

у подсчитать количество всех дочерних узлов на любом уровне древовидной структуры, поддерживаемой в таблице, используя модель смежности (родительско-дочерний ключ). Структура таблицы и данные выглядят так:

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 также будет работать.

Спасибо!

Ответы на вопрос(3)

Ваш ответ на вопрос