1. 程式人生 > >Oracle 11g 行列互換 pivot 和 unpivot 說明

Oracle 11g 行列互換 pivot 和 unpivot 說明

在Oracle 11g中,Oracle 又增加了2個查詢:pivot(行轉列) 和unpivot(列轉行)

參考:http://blog.csdn.net/tianlesoftware/article/details/7060306、http://www.oracle.com/technetwork/cn/articles/11g-pivot-101924-zhs.html

google 一下,網上有一篇比較詳細的文件:http://www.oracle-developer.net/display.php?id=506

pivot 列轉行

測試資料 (id,型別名稱,銷售數量),案例:根據水果的型別查詢出一條資料顯示出每種型別的銷售數量。

1 create table demo(id int,name varchar(20),nums int);  ---- 建立表insert into demo values(1, '蘋果', 1000);insert into demo values(2, '蘋果', 2000);insert into demo values(3, '蘋果', 4000);insert into demo values(4, '橘子', 5000);insert into demo values(5, '橘子', 3000);insert into demo values(6, '葡萄', 3500);insert into demo values(7, '芒果', 4200);insert into demo values(8, '芒果', 5500);

分組查詢 (當然這是不符合查詢一條資料的要求的)

1 select name, sum(nums) nums from demo group by name

行轉列查詢

1 select * from (select name, nums from demo) pivot (sum(nums) for name in ('蘋果' 蘋果, '橘子', '葡萄', '芒果'));

注意: pivot(聚合函式 for 列名 in(型別)) ,其中 in(‘’) 中可以指定別名,in中還可以指定子查詢,比如 select distinct code from customers

當然也可以不使用pivot函式,等同於下列語句,只是程式碼比較長,容易理解

1 select * from select sum(nums) 蘋果 from demo where name='蘋果'),(select sum(nums) 橘子 from demo where name='橘子'),       (select sum(nums) 葡萄 from demo where 

相關推薦

Oracle 11g 行列互換 pivot unpivot 說明

在Oracle 11g中,Oracle 又增加了2個查詢:pivot(行轉列) 和unpivot(列轉行) 參考:http://blog.csdn.net/tianlesoftware/article/details/7060306、http://www.ora

SQL Server 2005 中行列轉換(Pivot UNPivot的使用)

針對sql2005  系統提供兩個新的關鍵字 PIVOT 和UNPIVOT可用來作此類操作.語法規則<pivot_clause> ::=        ( aggregate_function ( value_column )         FOR pivot_

Oracle 11g學習筆記--privotunpivot子句

Oracle 11g學習筆記–privot和unpivot子句 pivot子句是Oracle database 11g的新增特性,可以在查詢輸出中將行旋轉為列,同時對資料使用聚合函式。同時新增了unpivot子句,他可以在查詢輸出中將列旋轉為行; 引入

oracle 11g Pivot Unpivot

Pivot 如您所知,關係表是表格化的,即,它們以列-值對的形式出現。假設一個表名為 CUSTOMERS。 SQL> desc customers Name Null? Type --

oracle 行列互轉 pivot unpivot

行轉列pivot 建立表 with data_tab as( select '1991' year,1 month,11 amount from dual union all select '

oracle pivot unpivot 函數的使用

greate 列轉行 格式 cert list nth 字段類型 query apr pivot的格式select from( inner_query)pivot(aggreate_function for pivot_column in ( list of values

oracle中的Pivot Unpivot

Pivot 和 Unpivot 使用簡單的 SQL 以電子表格型別的交叉表報表顯示任何關係表中的資訊,並將交叉表中的所有資料儲存到關係表中。 轉載from http://blog.csdn.net/xb12369/article/details/39554935 如您所知,

轉載: Oracle 11g 集群介紹詳解

rc4 blog lin 安裝 linux cnblogs 相關 erp .html 集群概念介紹(一)ORACLE集群概念和原理(二)RAC 工作原理和相關組件(三)緩存融合技術(四)RAC 特殊問題和實戰經驗(五)ORACLE 11 G版本2 RAC在LINUX上使用N

SQL Server 2008中的PivotUnPivot

                今天給新成員講解PIVOT 和 UNPIVOT示例,順便整理了一下其用法。這是自SQL Server 2005起提供的新功能。首先看PIVOT示例:基本表資料:IF NOT OBJECT_ID('tb_Income') IS NULL    DROP TABLE [tb_Inc

PIVOTUNPIVOT使用詳解

一、使用PIVOT實現資料表的列轉行 建表語句: 1 DROP TABLE STUDENT; 2 CREATE TABLE STUDENT ( 3 學生編號 VARCHAR2(20 BYTE) NULL , 4 姓名 VARCHAR2(20 BYTE) NULL , 5 性

使用pivotunpivot語句實現行轉列,列轉行

在做報表時,經常需要將資料表中的行轉列,或者列轉行,如果不知道方法,你會覺得通過SQL語句來實現非常難。這裡,我將使用pivot和unpivot來實現看似複雜的功能。 引用MSDN: 可以使用 PIVOT 和 UNPIVOT 關係運算符將表值表示式更改為另一個表。PIVOT

刪除oracle 11g的警告日誌監聽日誌

oracle 11g的監聽日誌和警告日誌都是在/u01/oracle/diag/tnslsnr/oracle/listener目錄和/u01/oracle/diag/rdbms/db1/db1目錄下都有以下分別簡稱listener目錄和db1目錄。這兩目錄下都有如下目錄:a

Pivot Unpivot 轉多列幷包含多個名稱

Pivot 1、準備資料 create table t_demo(id int,name varchar(20),nums int); ---- 建立表 insert into t_demo values(1, '蘋果', 1000); insert into

Oracle 11g筆記——調整表空間資料檔案的大小、移動資料檔案、聯機重做日誌檔案、控制檔案

一、調整表空間和資料檔案的大小    1、調整表空間大小    alter database datafile '/u01/app/oracle/oradata/rmanrep/users01.dbf' resize 15m;    2、調整表空間大小為允許自動擴充套件

ORACLE行列互換pivotunpivot

WEIBI微博 http://weibo.com/p/2309404166525849361439 http://weibo.com/ttarticle/p/show?id=2309404166525849361439 http://travel.weibo.com/a

Oracle GoldenGate對接 Oracle 11gKafka

歸檔日誌 lte 2.0 數據庫 tab 11.2 lis val ase 使用system用戶登陸oracle 的sqlplus sqlplus "system/oracle" as sysdba 首先檢查oracle 是否已經開啟 Archive logging

oracle 11g rac 筆記(VMware esxi主機都可以使用)

oracle 11g rac這個只是筆記,防止丟失,沒事見整理在vmware安裝目錄 創建磁盤:vmware-vdiskmanager.exe -c -s 1000Mb -a lsilogic -t 2 D:\VMWARE\racsharedisk\ocr.vmdkvmware-vdiskmanager.ex

oracle 11g r2 rac 安裝整理 附詳細步驟(親測VMwareexsi都可以完美安裝物理機自然沒有問題)

oracle 11g r2 rac由於前面安裝了,由於時間關系沒有來得及整理,今天閑下來,整理了安裝步驟,還是活的一些收獲的,下面附上步驟:1.安裝操作系統最小化安裝即可2.關閉防火墻3.替換yum4.添加共享磁盤5.創建用戶和用戶組6.添加用戶環境變量7.調整內核參數8.安裝依賴包9.配置hosts10.

Oracle 11G R2 RAC中的scan ip 的用途基本原理【轉】

partition lease 重試 方便 documents 簡單的 scrip html reserve Oracle 11G R2 RAC增加了scan ip功能,在11.2之前,client鏈接數據庫的時候要用vip,假如你的cluster有4個節點,那麽客戶端的t

Oracle 11g數據庫安裝卸載教程

manager 路徑 內存 size alc ftw 單例 code ice Oracle11g的安裝教程 同時解壓縮兩個zip文件,生成一個database文件夾,進入到database文件夾,點擊setup 去掉安全更新的選項,直接下一步 選擇創建和配置數