同一语句中不同列上的SQL多次计数

问题描述:

我有一张表,其中包含世界各地的滑雪场。该表还标识了他们所在的国家和“部门”(美国/欧洲/亚洲等)。我试图确定每个部门的度假村数量。同一语句中不同列上的SQL多次计数

样本数据:

resort_id, resort_name, country_id, sector_id 
3376  Chréa   204  204 
3377  Tikjda   204  204 
3384  Beidahu   208  205 
3481  Canyon Ski Area 225  206 
3482  Castle Mountain 225  206 
3483  Drumheller  226  206 
3933  Uuperi   240  207 
3934  Salomonkallio 240  207 
3935  Chabanon   241  207 
3936  Le Fanget  242  207 

我需要能够确定度假村和国家各部门,即两者的数量:

Sector Resorts Countries 
----------------------------- 
204   2   2 
205   1   1 
206   3   2 
207   4   3 

我需要的语句是沿着线:

select sector_id, 
     count(*), 
     // count the number of countries in each sector 
from resorts 
group by sector_id 

任何援助将不胜感激,谢谢。

我想你想要count(distinct)

select sector_id, count(distinct resort_id) as NumResorts, 
     count(distinct country_id) as NumCountries 
from resorts 
group by sector_id; 
+0

谢谢,正是我要找的。 – Jonnie 2014-10-16 20:48:21