答案似乎是不对的。如果有两部电影带有“robot”,属于不同电影的类别,且都符合“该类电影>=5”这个条件,那么select count(fc.film_id)这一句,就必须有分组(电影类别)条件限制才行,否则就把不同分类的film_id 统计在一起了。 为了作验证,我们可以把题目要求改为:选出“电影描述含有Ancient字样”(f.description like '%Ancient%')、符合条件电影的类别只要求1部即可——题目所给出的样表中,满足上述两个条件的电影有4部、分别属于3个类别;用作者原代码按以上条件修改,则变成了: select c.name, count(fc.film_id) from film f,category c,film_category fc where f.description like '%Ancient%' and f.film_id=fc.film_id and fc.category_id=c.category_id and c.category_id in (select category_id from film_category group by category_id having count(film_id)>=1) 可是,运行出来的结果是:horror 4; 以上horror(恐怖片),是满足条件的三个类别的第一个;4,是三个类别电影的总数;
1

相关推荐

拒绝无效加班的小师弟很中意你:求职意向没有,年龄、课程冗余信息可以删掉,需要提升项目经历。排版需要修改。
点赞 评论 收藏
分享
牛客网
牛客企业服务