我完全专注于我的作业。我正在使用 Sakila 示例数据库。我应该编写一个查询,为我提供所有租用超过 10 部恐怖电影的客户的列表。这是我到目前为止所拥有的:
select CONCAT(c.first_name, " ", c.last_name) AS "Customer name",
FROM customer AS c
INNER JOIN rental AS r
ON c.customer_id = r.customer_id
inner join inventory as i
on i.inventory_id = r.inventory_id
inner join film_category as fc
on i.film_id = fc.film_id
inner join
(select * from category as ca
where ca.name = 'horror') as h
on h.category_id = fc.category_id
;
我可以让它返回所有 (846) 名租借过恐怖电影的顾客,但我如何才能只返回那些租借了 10 部以上恐怖电影的顾客呢?我知道我需要 COUNT 函数,但是当我把它放进去时,它给了我 1 个人,计数为 846,这是人数统计,而不是租用的恐怖电影。我的逻辑在这一点上让我失败了。请帮忙!
最佳答案
不幸的是,我不知道有问题的示例数据库。不过,我觉得这不会影响我对这个问题的回答。
如果您想使用 COUNT,您还需要使用 GROUP BY以实现总计计数。
关于mysql - Sakila db SQL 查找已租借 >10 部恐怖电影的客户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15233489/