题目要求:查找描述信息(film.description)中包含robot的电影对应的分类名称(category.name)以及电影数目(count(film.film_id)),而且还需要该分类包含电影总数量(count(film_category.category_id))>=5部
- 思路:三表连接
- 注意事项:
- 描述信息中包含robot使用LIKE;
- 分类要求包含电影总数量,是对于分类类别的要求,而不是对于包含robot电影的要求,所以不能直接在条件
f.description like '%robot%'
后面直接根据条件筛选count(film_category.film_id)>=5
; - 题目中有误导,分类的电影总数量应该是
count(film_categoryfilm_id)
,而不是count(film_category.category_id)
- 代码如下:
select c.name,count(f.film_id) from film f join film_category fc on f.film_id=fc.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 c.name