grupo de count mysql teniendo

Tengo esta tabla:

Movies (ID, Genre) 

Una película puede tener múltiples géneros, por lo que una identificación no es específica de un género, es una relación de muchos a muchos. Quiero una consulta para encontrar el número total de películas que tienen exactamente 4 géneros. La consulta actual que tengo es

  SELECT COUNT(*) FROM Movies GROUP BY ID HAVING COUNT(Genre) = 4 

Sin embargo, esto me devuelve una list de 4 en lugar de la sum total. ¿Cómo obtengo la sum total en lugar de una list de count(*) ?

Una forma sería usar una consulta anidada:

 SELECT count(*) FROM ( SELECT COUNT(Genre) AS count FROM movies GROUP BY ID HAVING (count = 4) ) AS x 

La consulta interna obtiene todas las películas que tienen exactamente 4 géneros, luego la consulta externa count cuántas filas devolvió la consulta interna.

 SELECT COUNT(*) FROM (SELECT COUNT(*) FROM movies GROUP BY id HAVING COUNT(genre) = 4) t 

Tal vez

 SELECT count(*) FROM ( SELECT COUNT(*) FROM Movies GROUP BY ID HAVING count(Genre) = 4 ) AS the_count_total 

aunque esa no sería la sum de todas las películas, solo cuántas tienen 4 géneros.

Entonces quizás quieras

 SELECT sum( SELECT COUNT(*) FROM Movies GROUP BY ID having Count(Genre) = 4 ) as the_sum_total 

Qué pasa:

 SELECT COUNT(*) FROM (SELECT ID FROM Movies GROUP BY ID HAVING COUNT(Genre)=4) a