Подсчет потомков узла в MySQL?

Добрый день.


Имеется таблица:

CREATE TABLE sections (<br/>
 id_sections INT(11) NOT NULL AUTO_INCREMENT,<br/>
 name VARCHAR(255) DEFAULT NULL,<br/>
 parent INT(11) UNSIGNED NOT NULL,<br/>
 PRIMARY KEY (id_sections)<br/>
)<br/>



В которой хранится двухуровневое дерево в поле parent храниться id_sections родителя.


Требуется создать запрос для вывода всех корневых каталогов (parent = 0) с количеством вложенных каталогов.


Заранее благодарен.
  • Вопрос задан
  • 3172 просмотра
Пригласить эксперта
Ответы на вопрос 2
@shsmad
SELECT s1.*, count(s2.id_sections)
FROM sections s1
LEFT JOIN sections s2 ON s2.parent = s1.id_sections
WHERE s1.parent = 0
GROUP BY s1.id_sections


не?
Ответ написан
@drVano
А такое MySQL разве не умеет?
SELECT *, (SELECT COUNT(*) FROM sections s2 WHERE s2.parent = s1.id_sections)
FROM sections s1
WHERE s1.parent = 0
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы