Уперся с вроде бы простой задачкой.
Есть таблица со списком товарных групп id | parent_id | group_name (около 300 записей)
Есть таблица товаров id | group_id | item_name (около 45 000 записей)
Есть банальная задача вывести список групп с количеством товаров в каждой
пробую так
"SELECT G.* , COUNT(C.id) AS `count`
FROM `".DB_GROUPS."` AS G
LEFT JOIN `".DB_CATALOG."` AS C ON C.`group_id` = G.`id`
GROUP BY C.`group_id`
ORDER BY G.`parent_id`, G.`group_name`"
Обработка идет полторы минуты и результат какой то кривой, все группы с parent_id = 0 схлопываются, выводится только первая.
В общем явно что то я делаю не так, подскажите как правильно такие задачи решать.