Задать вопрос

Подсчет потомков узла в 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) с количеством вложенных каталогов.


Заранее благодарен.
  • Вопрос задан
  • 3175 просмотров
Подписаться 7 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Python-разработчик
    10 месяцев
    Далее
  • ProductStar
    Профессия: Java-разработчик
    9 месяцев
    Далее
  • GB (GeekBrains)
    Профессия Python-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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
Ответ написан
Ваш ответ на вопрос

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

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