sql之分区域分段统计

sql之分区域分段统计

需求:在一个表中,有两列分别标记行政区划代码和家庭成员人数,需要得到不同乡镇的家庭成员人数在1-2人,3-4人,5-6人,6人以上的家庭数的表格

思路:

用case when对家庭成员数量做出判断,如果符合返回1,不符合返回0.再将这些1和0加起来,获得家庭数。

如果需要获得总人数可以将then 1 else 0 中的1改为 CBFCYSL。

语句:

select 
XZQHBM,
SUM(case when CBFCYSL<=2 then 1 else 0 end)  as CYSL12,
SUM (case when CBFCYSL>2 and CBFCYSL<=4 then 1 else 0 end)  as CYSL34,
SUM (case when CBFCYSL>4 and CBFCYSL<=6 then 1 else 0 end)  as CYSL56,
SUM (case when CBFCYSL>6 then 1 else 0 end)  as CYSL7 
from 
TDCBJYQ.dbo.CBF 
group by XZQHBM
order by XZQHBM

返回:

研究不易,转载请注明出处

原文地址:https://www.cnblogs.com/s313139232/p/9728629.html