当前位置: 代码迷 >> Oracle面试 >> oracle 分组有关问题
  详细解决方案

oracle 分组有关问题

热度:235   发布时间:2016-04-24 03:21:22.0
oracle 分组问题
一张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;
  相关解决方案