Посчитать count по выборке внутри таблицы?

Есть таблица Posts:

Id
Type
ParentId

Делаю запрос

select Id where Type = 1 order by Id desc limit 15

Требуется составить запрос, что бы в выборке было дополнительное значение count. В ParentId могут быть Родительские Id. Count это количество ParentId для данного Id

Id Type ParentId
1 1 null
2 2 1
3 2 1
4 1 null
5 1 null
6 2 4

select Id, Count where Type = 1 .... должно выдавать такой результат

Id Count
1 2
4 1
5 0

Ответы (1 шт):

Автор решения: Akina

Коррелированный подзапрос в списке вывода:

SELECT DISTINCT 
       id,
       COALESCE( ( SELECT COUNT(*)
                   FROM test t2
                   WHERE t1.id = t2.parentid ), 0) `count`
FROM test t1
WHERE type = 1
→ Ссылка