日期:2014-05-16  浏览次数:20667 次

多条件统计问题
各位好,麻烦在实现如下功能的基础上,再增加2个条件:

select   NN,Sex,count(*)  
from   [2004]  
where   origin   in( '辽宁 ', '山东 ', '河北 ', '江苏 ',   '浙江 ',   '福建 ',   '广东 ',   '海南 ')  
    and   age   between   10   and   64  
    and   NN   between   1   and   18
group   by   NN,Sex


以上语句实现了按照性别,同时把1到18区满足条件的记录统计出来了,我现在想,同时把3个年龄段:0-14,15-64,65以上,也分别统计出来,再加上origin的信息如下:

0:属于(辽宁 ', '山东 ', '河北 ', '江苏 ',   '浙江 ',   '福建 ',   '广东 ',   '海南 ')
1:属于(黑龙江,吉林,山西,河南,安徽,湖北,湖南,江西)
2:属于(陕西,甘肃,青海,宁夏,新疆,四川,重庆,贵州,云南,西藏,内蒙古,广西)
3:属于(天津,上海,北京)

如果满足条件的记录都存在,,一次该列出18*2*3*4个统计数

如没说清楚的,可参考以下帖:
http://community.csdn.net/Expert/topic/5729/5729488.xml?temp=.4596063


------解决方案--------------------
用iif()嵌套即可。