@Facetrollex

Как подсчитать количество «детей» в дереве?

Доброго времени суток.

Есть таблица (таблица одна, т.е. иерархия завязана сама на себя) mysql. Структура id, parent_id,title .... etc.
Можно ли вывести одним(!) запросом все поля + количество детей у каждого id?
Если да, то как?
Спасибо.
  • Вопрос задан
  • 3073 просмотра
Решения вопроса 1
@Facetrollex Автор вопроса
Неужели, решение пришло само-собой :)
SELECT t1.id, t1.parent_id,t1.title,case when t2.cnt is null then 0 else t2.cnt end cnt FROM table t1
LEFT JOIN (SELECT parent_id, COUNT(parent_id) cnt FROM table
       GROUP BY parent_id) t2
ON t1.id = t2.parent_id

Раз уж задавал вопрос, то и решение выложу. Вдруг кому пригодится.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы