oracle 行轉列 使用pivot函式

2021-09-29 09:47:51 字數 944 閱讀 5853

由上面的表轉變為下面的表

首先建乙個原始表,並插入測試資料,**如下

create

table sale2

( 月份 varchar2(20)

, 銷售量 varchar2(20)

);insert

into sale

select

'一月份' 月份,

'1' 銷售量

from dual

union

select

'二月份' 月份,

'2' 銷售量

from dual

union

select

'三月份' 月份,

'3' 銷售量

from dual

union

select

'四月份' 月份,

'4' 銷售量

from dual

union

select

'五月份' 月份,

'5' 銷售量

from dual;

commit

;

然後使用下面的這段**就可以行轉列了(使用pivot函式)

select

*from a

pivot

(sum

(銷售量)

for 月份

in('一月份' 一月份,

'二月份' 二月份,

'三月份' 三月份,

'四月份' 四月份,

'五月份' 五月份)

);

oracle 行轉列,多行轉列

問題描述 應公司要求,設計功能,乙個id,對應不同的值,展示的時候不同的值拼接展示,如何實現 解決思路 1 拼接字串,想到了 oracle function 這樣肯定能實現,但是比較麻煩 2 oracle 自帶的乙個函式 wm concat 函式 非常給力 上 測試表1 create table c...

oracle行轉列實踐

在oracle 11g中,oracle 增加了2個查詢 pivot 行轉列 和unpivot 列轉行 pivot 聚合函式 for 列名 in 型別 其中 in 中可以指定別名,in中還可以指定子查詢 行轉列 select org id,item,sum value from rhsa gcfx r...

Oracle行轉列 行變列

在寫一些複雜的sql的時候,經常需要使用到行變列的技巧,一些帳務系統的統計也經常會寫到這樣的sql。主要用到了max decode或nvl這些函式來達到目的。寫下來讓大家互相學習學習!下面是乙個行變列的例子。如表row2column2有以下資料 名字 課程 分數 1 張三 語文 80 2 張三 數學...