一张test表
id month(月份) dept_id(部门) count(统计数) all(总数)
数据如下:
1 1 市北 20 100
2 1 市南 30 100
3 2 市北 30 100
4 2 市南 40 100
5 3 市北 40 100
6 3 市南 50 100
怎么通过分组计算 每个月份 每个部门的百分率 如下表格中的格式展示(统计数/总数%)?
月份/部门 市北 市南
1 ? ? ? ? ? ? ? 20% ? ? ? ? ? 30% ?
2 30% 40%
3 40% 50%
sql应该怎么写?
------解决思路----------------------
行列转换吧
select t.month,
sum(decode(deptid, '市南', countnum))
------解决思路----------------------
'%' 市南,
sum(decode(deptid, '市北', countnum))
------解决思路----------------------
'%' 市北
from test t
group by month;