Посчитать 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