好的,我知道标题令人困惑,但这个想法非常简单。我只需要弄清楚在给定时间段内在五个不同地点飞行的航班数量。有时一个站点在此期间不会有任何航班,这就是我遇到问题的地方。如果我使用:
select count(*)
from Flight
where date between '9/9/2013' and '9/15/2013'
group by Site
order by Site
我只会获得实际飞行的网站,但我希望那些在此期间没有航班的网站(但在其他时间飞行并且在表中有记录)仍然返回值0
答案 0 :(得分: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;