题解 | #查找描述信息中包含robot的电影对应的分类名称以及电影数目,而且还需要该分类对应电影数量>=5部#

查找描述信息中包含robot的电影对应的分类名称以及电影数目,而且还需要该分类对应电影数量>=5部

http://www.nowcoder.com/practice/3a303a39cc40489b99a7e1867e6507c5

SELECT name,COUNT(*)
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 description LIKE '%robot%'
    and c.category_id in(
        select category_id
        from film_category
        GROUP by category_id
        HAVING COUNT(*)>=5)
GROUP by c.category_id

先理解题意,我们需要的是含有robot电影的分类及该分类含有robot电影的数量,同时这个分类的所有电影的数量>=5(包括非robot电影) 父查询中使用筛选条件description LIKE '%robot%',这样在GROUP by后通过having count()>=5显然不对,因为各分类下的电影都被排除了一部分,只能通过子查询来筛选category_id

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务