急急问一个简单的统计问题
请问各位,有表如下,我想统计人数。其中出生日期存放在个人信息表中,单位在另一张表(单位是可能改变的,所以从后台数据库获取),另一方面是每天的某一个年龄段的人数都在变化(因为是根据出生日期来判断的),如何写代码会最优呢??谢谢: 
                30岁以下         30-40岁            41-50岁            51-60岁 
 单位1      人数               人数                        人数                  人数 
 单位2      人数                  人数                        人数               人数 
 ....         ...                        ...                        ...                     ... 
 单位n         人数                  人数                     人数                     人数
------解决方案--------------------  create table #t 
 ( 
 dptment varchar(10), 
 date1 varchar(10) 
 )   
 insert into #t 
 select  '電腦部 ', '1983-08-22 ' union all 
 select  '電腦部 ', '1970-08-20 ' union all 
 select  '財務部 ', '1983-08-22 ' union all 
 select  '財務部 ', '1984-08-22 ' union all 
 select  '財務部 ', '1954-07-12 ' union all 
 select  '財務部 ', '1958-09-02 ' union all 
 select  '財務部 ', '1969-04-25 ' union all 
 select  '財務部 ', '1962-03-29 '    
 select dptment,sum(case when abs(datediff(year,getdate(),date1)) <30 and datediff(month,getdate(),date1) <=0 and datediff(day,getdate(),date1) <=0 then 1 else 0 end )as  '小於30 ', 
                sum(case when (abs(datediff(year,getdate(),date1))between 30 and 40)  and datediff(month,getdate(),date1) <=0 and datediff(day,getdate(),date1) <=0 then 1 else 0 end )as  '30-40 ', 
                sum(case when (abs(datediff(year,getdate(),date1))between 41 and 50)  and datediff(month,getdate(),date1) <=0 and datediff(day,getdate(),date1) <=0 then 1 else 0 end )as  '41-50 ', 
                sum(case when (abs(datediff(year,getdate(),date1))between 51 and 60)  and datediff(month,getdate(),date1) <=0 and datediff(day,getdate(),date1) <=0 then 1 else 0 end )as  '51-60 '    
 from #t 
 group by dptment     
 dptment    小於30        30-40       41-50       51-60        
 ---------- ----------- ----------- ----------- -----------  
 財務部        2           1           2           1 
 電腦部        1           1           0           0   
 (2 row(s) affected)