数据统计sql
数据表table1
部门 时间 级别 A类 B类
部门A .. 1 是
部门B .. 2 是
部门C .. 2 是
部门C .. 3 是
想统计各个部门 是A类和B类的数据次数
以上的数据 A类 部门A为0次 部门B为1次 部门C也为一次
B类 部门A为一次 部门B为0次 部门C为1次
这种效果 经高人指点已经实现 代码如下:
select 部门,A类=sum(case when A类='是' then 1 else 0 end),
B类=sum(case when B类='是' then 1 else 0 end)
from tb group by 部门
现在 再想把以上稍作调整
A类 所有部门为2次 部门A为0次 部门B为1次 部门C也为1次
B类 所有部门为2次 部门A为1次 部门B为0次 部门C为1次
A类和B类 一共4次 一共1次 1次 2次
这样可以把上面的sql 做下调整吗?
------解决方案--------------------结果是什么。
------解决方案--------------------select isnull(部门,'所有类'),A类=sum(case when A类='是' then 1 else 0 end),
B类=sum(case when B类='是' then 1 else 0 end)
from tb group by 部门 with rollup