首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL如何计算每个有组的客户的总行数?

问SQL如何计算每个有组的客户的总行数?
EN

Stack Overflow用户
提问于 2017-03-17 02:29:11
回答 1查看 2.9K关注 0票数 0

我很难回答这样一个问题:“哪个城市的顾客看电影最多?(根据租来的电影数量)”。

我正在使用MySQL中的Seikila示例数据库进行此操作。城市实体与出租和客户实体没有关系,但有一个地址实体包含address_id,它依赖于客户实体。然后,地址实体具有一个名为city_id的属性,城市实体也得到了该属性。customer_id属性将客户实体和租赁实体连接起来。

另外,我还要计算每个城市的每一位客户租来的电影总数。

我只完成了联接部分(更新的代码):

代码语言:javascript
复制
select rental_id,cust.customer_id,city.city_id,city.city from rental as r  
inner join customer as cust on r.customer_id=cust.customer_id inner join
address as a on cust.address_id=a.address_id inner join city as city on
city.city_id=a.city_id 

我意识到我应该将city_id添加到表中,所以我的问题是:

如何计算一个唯一的customer_id的行数,这样我就可以得到,每个城市中租用的电影 of 的总数量,以及一个组的数量。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-17 02:42:45

使用COUNT(*)获取电影租赁的总数量,并按城市分组。

代码语言:javascript
复制
SELECT city.city, COUNT(*) AS total_rentals
FROM rental AS r
INNER JOIN customer AS cust on r.customer_id = cust.customer_id
INNER JOIN address AS a on cust.address_id = a.address_id
INNER JOIN city ON city.city_id = a.city_id
GROUP BY city.city_id
ORDER BY total_rentals DESC
LIMIT 1

如果您还想知道该城市的客户数量,可以将COUNT(DISTINCT cust.customer_id)添加到SELECT列表中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42848178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档