oracle 数据透视表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 数据透视表相关的知识,希望对你有一定的参考价值。

怎样用oracle命令做一个数据透视表
有计数的 和 求和的
相应的命令是什么
我搜索的语句为
select catno,periodcode,salesunit,price
from rrs.sc_raw
where sourceid= '1019'
and periodcode >= '20091409' and periodcode<'20091410'
返回的结果如图片所示
我想用SQL语句达到一个效果就是 数据透视表 一个计数功能 一个是求和功能的
这2个语句 大家能不能帮我写一下
谢谢了
希望说一个命令跑出来 列是CATNO 行是period

你用count计数,用sum求和,这两个都是oralce自带的函数啊。
例如
count例子:
select count(*)
from rrs.sc_raw
where sourceid= '1019'
and periodcode >= '20091409' and periodcode<'20091410'
sum例子:
select sum(price)
from rrs.sc_raw
where sourceid= '1019'
and periodcode >= '20091409' and periodcode<'20091410'

希望能这两个例子能对你有所帮助,祝你早日解决问题哦。
参考技术A 简历数据视图表
craete view v_raw as (你以上的搜索语句);

select count(*) from v_raw;/* 这个是求总记录数的*/

select sum(*) from v_raw;/*这个是求和的*/

希望对你有帮助。
参考技术B select catno,periodcode,salesunit,price,(salesunit*price) as income
from rrs.sc_raw
where sourceid= '1019'
and periodcode >= '20091409' and periodcode<'20091410'
group by catno,periodcode
参考技术C SQL语句
count 计数
sum 求和
都相当于函数
你可以查查帮助,看看语句格式。
select catno,periodcode,salesunit,price,(salesunit*price) as income
from rrs.sc_raw
where sourceid= '1019'
and periodcode >= '20091409' and periodcode<'20091410'
group by catno,periodcode
;
参考技术D rollup

以上是关于oracle 数据透视表的主要内容,如果未能解决你的问题,请参考以下文章

SQL - Oracle - 具有动态数据的数据透视表

在 Oracle SQL 中将数据透视表转换为平面表

取消透视表 Oracle 中的数据

Oracle SQL 数据透视表从一列变为两列

OBIEE:数据透视表中的折线图

使用Arcpy批量修改矢量数据的字段值