【发布时间】:2011-03-14 05:57:31
【问题描述】:
我有以下表格。
客户表
客户ID |姓氏 |名字 |城市_ID |区域_ID | Country_IDCountry_table
Country_ID |国家Region_table
Region_ID |地区 | Country_IDCity_table
City_ID |城市 |区域_ID | Country_ID
我需要按城市计算客户数量,即所有国家、国家的所有地区、该地区的所有城市,我需要得到客户数量。每个城市的客户。
例如,我编写了以下 SQL 来获取否。每个国家/地区的客户:
SELECT a.country_id , b.country,count(*)
FROM Customer_Table a INNER JOIN Country_Table b
ON a.country_id = b.country_id
GROUP BY b.country , b.country_id ;
并获得否。特定国家/地区每个地区的客户数量:
SELECT a.region_id , b.region , count(*)
FROM Customers_table a INNER JOIN Region_Table b
ON a.region_id = b.region_id
WHERE a.country_id ='USA' AND b.country_id ='USA'
GROUP BY region_id , country ;
我需要找到的是城市方面的客户数量,即,对于所有国家,对于国家的所有地区,对于该地区的所有城市,我需要得到编号。每个城市的客户数量,例如
Country | Region | City | no.of customers
USA | CA | San Francisco | 53
USA | CA | Los Angeles | 45
USA | CA | Sacramento | 16
USA | WA | Seattle | 46
USA | WA | Olympia | 9
UK | England | London | 89
UK | England | Nottingham | 71
UK | Wales | Cardiff | 69
UK | Wales | Newport | 23
..................and so on for other countries.
【问题讨论】:
标签: sql mysql sql-server database oracle