我正在努力解决一个问题:“哪个城市的客户观看的电影数量最多?(根据租用的电影数量)”。SQL如何统计每个客户的总行数?
我正在使用MySQL中的Seikila示例数据库。城市实体与租赁和客户实体没有关系,但是有一个地址实体包含对客户实体依赖于id的address_id。然后,地址实体具有城市实体也获得的称为city_id的属性。而customer_id属性链接了客户和租赁实体。
此外,我必须计算每个城市每个客户租用的电影总数。
我只是做连接的一部分(代码更新):
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,这样我就可以得到电影租的总数的在每个城市,并且用一组?
使用'COUNT(*)'和'GROUP BY'。你甚至在问题标题中写下了这个问题。 – Barmar
我知道这是使用count(),但我想单独计算每个customer_id,而不是客户总数 –
这听起来像你只是想按城市计算租金,而不是客户数。 – Barmar