题目:
查找描述信息中包括robot的电影对应的分类名称以及电影数目,而且还需要该分类对应电影数量>=5部
select c.name,count(*)
from film_category fc
join category c on fc.category_id=c.category_id
join (select *,count(*) as num
from film_category
group by category_id
having num >=5
) as cc on fc.category_id=cc.category_id
join(select * from film f where f.description like '%robot%') as ff
on ff.film_id=fc.film_id
group by fc.category_id;
思路:
该题有两个要求:1. 该分类包括电影描述含robot的电影
2. 该分类包含的电影数量>=5
3. 输出的是包含多少符合1的电影
通过建两个满足上面两个要求的表来进行连接筛选
疑惑:
我认为可以先把fc表按照该类下电影数>=5筛选为cc后,只留cc, 不留fc,但是一直答案不通过