Hola cn16cn:
La función COUNT, al igual que MIN, MAX, AVG, etc. son funciones de agregación o de agrupación, lo que quiere decir que pueden utilizarse junto la cláusula GROUP BY para agrupar registros bajo cierto criterio.
En realidad creo que no hay necesidad de utilizar DISTINCT ni tampoco de utilizar una SUBCONSULTA... prueba así:
Saludos
Leo.