pivot函数用法 Oracle列转行,行转列?
Oracle列转行,行转列?
oracle下可以用函数decode处理:
select 产品名称,
sum(decode(季度,"第一季度",销售额,0)) 第一季度销售额,
sum(decode(季度,"第二季度",销售额,0)) 第二季度销售额,
sum(decode(季度,"第三季度",销售额,0)) 第三季度销售额,
sum(decode(季度,"第四季度",销售额,0)) 第四季度销售额,
from 表名
group by 产品名称
oracle行转列函数?
推荐用WM_CONCAT函数SELECT A.STD, WM_CONCAT(A.F3) NEW_RESULFROM (SELECT STD, F3FROM (SELECT STD, F1 F3FROM TABLE_AUNION ALLSELECT STD, F2 F3 FROM TABLE_A) A) AGROUP BY A.STD
oracle这种数据pivot或者其他怎么将key做字段str作为值来行转列(str值是字符串?
SELECT*FROM(SELECTkey,strFROMtablet)pivot(max(str)forkeyin("hyl","ls","ryhl","yqwd"))
oracle列名不确定,行转列?
select decode(t.rn,1,t.单位名称) as 单位名称1 ,
decode(t.rn,2,t.单位名称) as 单位名称2,
decode(t.rn,3,t.单位名称) as 单位名称3,
from (
select c.单位名称,to_number() over(partition by c.单位名称) as rn
from table1 a,table2 b,table3 c
where a.id1 = b.id1
and b.id2=c.id2
) t
这是在知道多少行记录数的情况下这样实现,如果不知道多少行,则最好用个中间表,搞个语句块,把相关的数先放到中间表在进行处理。
SQL Server数据库PIVOT函数的使用详解?
PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CASE语句实现PIVOT的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P完整语法:table_sourcePIVOT(聚合函数(value_column)FOR pivot_columnIN(<column_list>)) UNPIVOT用于将列明转为列值(即列转行),在SQL Server 2000可以用UNION来实现完整语法:table_sourceUNPIVOT(value_columnFOR pivot_columnIN(<column_list>)) 注意:PIVOT、UNPIVOT是SQL Server 2005 的语法,使用需修改数据库兼容级别 在数据库属性->选项->兼容级别改为 90具体实例地址我私信发给你
pivot函数用法 oracle列转换成行 oracle行转列经典实现
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。