puedes probar con esto:
Código SQL:
Ver originalSELECT CONCAT(id, '-', nombre, ' (', conteo, ')')
FROM
(
SELECT c.id AS id, c.nombre AS nombre, COUNT(*) AS conteo
FROM productos p INNER JOIN categorias c ON p.categoria = c.id
GROUP BY c.id, c.nombre
)