关于组合统计的问题(高手进)
本人想做一个组合统计,谁可以告诉我怎么实现
表如下形式:
id sex school government area
-----------------------------------------
*** 男 中学 团员 北京
*** 男 大学 党员 上海
*** 女 小学 群众 北京
*** 女 中学 群众 天津
*** 男 小学 党员 上海
*** 女 大学 团员 北京
-------------------------------------------
现在想统计出一个列表,列表横轴和纵轴 分别可由以上4个字段中的一个或几个组合而成。
列表形式如下:
比如 由性别和学历组成的:
性别
-------- -----------
男 女
小学 0 1
中学 2 3
大学 1 2 (图中数字代表交叉统计的结果数)
请高手帮帮忙。。。
------解决方案----------------------借用libin_ftsafe(子陌红尘:当libin告别ftsafe) 数据一用
create table t(id varchar(6),sex varchar(6),school varchar(6),government varchar(6),area varchar(6))
insert into t select '*** ', '男 ', '中学 ', '团员 ', '北京 '
insert into t select '*** ', '男 ', '大学 ', '党员 ', '上海 '
insert into t select '*** ', '女 ', '小学 ', '群众 ', '北京 '
insert into t select '*** ', '女 ', '中学 ', '群众 ', '天津 '
insert into t select '*** ', '男 ', '小学 ', '党员 ', '上海 '
insert into t select '*** ', '女 ', '大学 ', '团员 ', '北京 '
go
1:
select
school,
团员=sum(case when government= '团员 ' then 1 else 0 end),
党员=sum(case when government= '党员 ' then 1 else 0 end),
群众=sum(case when government= '群众 ' th