select name,count(f.film_id)
from film_category fc 
join film f on fc.film_id=f.film_id
join category c on fc.category_id=c.category_id
where f.description like '%robot%'
and c.category_id in 
(
    select category_id
    from film_category
    group by category_id
    having count(film_id)>=5
)
group by name

思路:题目比较难理解,注意一个关键点就是俩个条件是并列的,不能出现先后顺序,如果把一个条件放到having 里面的话,相对于having 条件是在where 条件的基础上执行的,所以不行。