日期:2014-05-16  浏览次数:20990 次

关于oracle数据统计报表
我有一张数据量很大的表,大概七八百万条记录吧,要做统计报表,大概结构如下:
地区  类型1  类型2 字段1,2,3......
北京  A      A1
上海  B      B1
天津  A      C1
上海  B      B2
北京  A      A3
上海  C      C2
北京  C      C1
上海  B      B2
(地区、类型1和类型2没有关系)

想按照类型统计每一个地区的数据,要得到以下结构:
类型1  类型2  按每个地区分别显示(例:北京,上海,广州,天津等等)大概20个列
A      A1     12   0   2   12 等等
A      A2     2    6   21  3  等等
B      A1     14   1   2   62 等等

需要统计每个类型1和类型2在各个地区数据的个数,求oracle高手指点迷津,目前一点思路都没有。
------解决方案--------------------
引用:
我有一张数据量很大的表,大概七八百万条记录吧,要做统计报表,大概结构如下:
地区 类型1 类型2 字段1,2,3......
北京 A A1
上海 B B1
天津 A C1
上海 B B2
北京 A A3
上海 C C2
北京 C C1
上海 B B2
(地区、类型1和类型2没有关系)

想按照类型统计每一个地区的数据,要得到以下结构:
类型1 类型2 按每个地区分别显示……



select 类型1,类型2,
sum(decode(地区,'上海',1,0)) "上海",
sum(decode(地区,'北京',1,0)) "北京"
from t
group by 类型1,类型2