用oracle分析函式進行行列轉向
SQL> set line 20000
SQL> select * from test1;
ID NAME
--------- ----------------------------------------
1 a
2 a2
1 b
1 c
1 d
1 e
3 a3
3 c3
3 e3
4 a4
4 b4
4 c4
4 d4
13 rows selected.
轉成一列
SQL> select id, substr(max(sys_connect_by_path(name, ',' )),2) name
2 from (select id, name, row_number() over (partition by id order by name) rn
3 from test1 )
4 start with rn = 1 connect by prior rn = rn-1 and prior id = id
5 group by id order by id ;
ID NAME
--------- --------------------------------------------------------------------------------
1 a,b,c,d,e
2 a2
3 a3,c3,e3
4 a4,b4,c4,d4
轉成多列
SQL> select id,max(b1),max(b2),max(b3),max(b4),max(b5),max(b6)
2 from (
3 select id,
4 decode(substr(name,1,1),'a',name,null) b1,
5 decode(substr(name,1,1),'b',name,null) b2,
6 decode(substr(name,1,1),'c',name,null) b3,
7 decode(substr(name,1,1),'d',name,null) b4,
8 decode(substr(name,1,1),'e',name,null) b5,
9 decode(substr(name,1,1),'f',name,null) b6
10 from test1
11 ) group by id ;
ID MAX(B1) MAX(B2) MAX(B3)
--------- ---------------------------------------- ---------------------------------------- -----------
1 a b c
2 a2
4 a4 b4 c4
3 a3 c3
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/92289/viewspace-968291/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 用ORACLE分析函式實現行列轉換Oracle函式
- 【SQL 分析函式】wm_concat 行列轉換SQL函式
- oracle 分析函式(轉)Oracle函式
- Oracle分析函式{轉}Oracle函式
- oracle行列轉換-行轉列Oracle
- oracle行列轉換-列轉行Oracle
- Oracle行轉列函式Oracle函式
- ORACLE分析函式手冊(轉)Oracle函式
- [轉]decode函式和行列互換函式
- Oracle行轉列的函式Oracle函式
- ORACLE分析函式手冊二(轉)Oracle函式
- Oracle 分析函式使用介紹(轉)Oracle函式
- Oracle分析函式七——分析函式案例Oracle函式
- Oracle聚合函式/分析函式Oracle函式
- oracle中進位制轉換函式Oracle函式
- Oracle 分析函式Oracle函式
- Oracle分析函式Oracle函式
- ORACLE單行函式與多行函式之五:轉換函式示例Oracle函式
- Oracle分析函式參考手冊(轉)一Oracle函式
- Oracle分析函式參考手冊(轉)二Oracle函式
- Oracle-行列轉換Oracle
- oracle分析函式(一)Oracle函式
- Oracle常用分析函式Oracle函式
- Oracle分析函式-6Oracle函式
- Oracle分析函式-5Oracle函式
- Oracle分析函式-4Oracle函式
- Oracle分析函式-2Oracle函式
- Oracle分析函式-1Oracle函式
- Oracle分析函式-3Oracle函式
- Oracle分析函式與視窗函式Oracle函式
- 【分析函式】Oracle分析函式之LAG和LEAD函式Oracle
- 【函式】Oracle12c 列轉行函式使用listagg函式Oracle
- 【轉】Oracle: wmsys.wm_concat、sys_connect_by_path、自定義函式實現行列轉換Oracle函式
- oracle 10g分析函式最終版(轉)Oracle 10g函式
- 呼叫建構函式進行型別轉換函式型別
- oracle 10g函式大全--分析函式Oracle 10g函式
- 向分散式應用進軍分散式
- oracle字串函式(轉)Oracle字串函式