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 XZQHBMorder by XZQHBM
返回:
研究不易,转载请注明出处