0

好的,我知道标题令人困惑,但想法很简单。我只需要弄清楚在给定时间段内在五个不同地点飞行了多少次航班。有时网站在此期间不会有任何航班,这就是我遇到问题的地方。如果我使用:

select count(*)
from Flight
where date between '9/9/2013' and '9/15/2013'
group by Site
order by Site

我只会获取实际飞行过的站点,但我希望那些在此期间没有航班(但在其他时间飞行并在表中有记录)的站点仍然返回值 0。

4

1 回答 1

1

使用条件求和。也就是说,将where子句移动到case语句中:

select sum(case when date between '9/9/2013' and '9/15/2013' then 1 else 0 end)
from Flight
group by Site
order by Site;
于 2013-09-18T19:31:05.873 回答