【问题标题】:Write a query to find the full names of customers who have rented sci-fi movies more than 2 times and arrange alphabetically写一个查询,查找租借科幻电影2次以上的客户全名并按字母顺序排列
【发布时间】:2020-08-02 07:22:00
【问题描述】:

我正在尝试回答上述问题,但我的输出与预期输出不同。我的代码如下所示,

select distinct concat(first_name, ' ', last_name) as Customer_name
from customer c
inner join rental r on r.customer_id = c.customer_id
inner join inventory i on i.inventory_id = r.inventory_id
inner join film f on f.film_id = i.film_id
inner join film_category fc on fc.film_id = f.film_id
inner join category ca on ca.category_id = fc.category_id
where name = 'sci-fi' and rental_id > 2
order by Customer_name

【问题讨论】:

标签: mysql mysql-workbench


【解决方案1】:

按客户名称聚合,然后从 HAVING 子句断言 2 或更大的计数:

select concat(first_name, ' ', last_name) as Customer_name
from customer c
inner join rental r on r.customer_id = c.customer_id
inner join inventory i on i.inventory_id = r.inventory_id
inner join film f on f.film_id = i.film_id
inner join film_category fc on fc.film_id = f.film_id
inner join category ca on ca.category_id = fc.category_id
where name = 'sci-fi' and rental_id > 2
group by Customer_name
having count(*) > 2
order by Customer_name;

【讨论】:

  • 嗨,蒂姆,have 子句给我一个错误 1064。知道如何纠正吗?
  • @CodeJunkie Typo 在我的回答中。请重新加载页面并重试。
猜你喜欢
  • 2020-10-03
  • 1970-01-01
  • 2017-08-02
  • 2016-07-22
  • 2021-09-24
  • 1970-01-01
  • 2021-08-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多