I have this table:
Movies (ID, Genre)
GROUP BY ID
HAVING COUNT(Genre) = 4
One way would be to use a nested query:
SELECT count(*) FROM ( SELECT COUNT(Genre) AS count FROM movies GROUP BY ID HAVING (count = 4) ) AS x
The inner query gets all the movies that have exactly 4 genres, then outer query counts how many rows the inner query returned.