oracle的列轉行函數是什么

oracle中,列轉行的函數是“unpivot()”函數,該函數用于對表格數據進行列轉行轉換,語法為“unpivot(自定義列名 列的值 for 自定義列名 列名 in(列名))”。

oracle的列轉行函數是什么

本教程操作環(huán)境:Windows10系統、Oracle 11g版、Dell G3電腦。

oracle的列轉行函數是什么

oracle的列轉行函數是unpivot()函數

示例如下:

原表

oracle的列轉行函數是什么

with?temp?as( select?'四川省'?nation?,'成都市'?第一,'綿陽市'?第二,'德陽市'?第三,'宜賓市'?第四??from?dual?union?all select?'湖北省'?nation?,'武漢市'?第一,'宜昌市'?第二,'襄陽市'?第三,''?第四???from?dual ) select?nation,name,title?from temp unpivot (name?for?title?in?(第一,第二,第三,第四))t

oracle的列轉行函數是什么

?說明:unpivot(自定義列名/*列的值*/ for 自定義列名/*列名*/ in(列名))

示例如下:

原數據如下:

oracle的列轉行函數是什么

而我想要得到的結果如下:

oracle的列轉行函數是什么

sql

select?class_name,?student_name,?course_type,?result,?created_date ??from?class_tmp? ??unpivot(result?for?course_type?in(chinese_result,math_result));

原數據的chinese_result列和math_result列的列名,將轉換為新建列course_type的字段值,表示課種。

原數據的chinese_result列和math_result列的字段值,將轉換為新建列result的字段值,表示分數。

推薦教程:《Oracle視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享