wm_concat函式的排序問題
wm_concat在行轉列的時候非常有用,但在行轉列的過程中的排序問題常常難以控制。
可見下面例子:
準備測試表:
drop table t;
create table t (n number,m number);
insert into t values(1,1);
insert into t values(5,3);
insert into t values(3,3);
insert into t values(6,5);
insert into t values(7,2);
insert into t values(2,2);
insert into t values(0,1);
insert into t values(11,1);
insert into t values(15,3);
insert into t values(13,3);
insert into t values(16,5);
insert into t values(17,2);
insert into t values(12,2);
insert into t values(10,1);
commit;
SQL> select * from t order by 2,1;
N M
———- ———-
0 1
1 1
10 1
11 1
2 2
7 2
12 2
17 2
3 3
5 3
13 3
15 3
6 5
16 5
測試wm_concat後的順序:
測試1:
SQL> select m,wm_concat(n) from t group by m;
M WM_CONCAT(N)
———- ——————————————————————————–
1 11,0,1,10
2 17,2,7,12
3 15,3,5,13
5 16,6
可見wm_concat後的順序並沒有按大->小,或小->大的順序。
測試2:
–參考網上一些解決思路
SQL> select m,wm_concat(n)
2 from (select n,m from t order by m,n )
3 group by m;
M WM_CONCAT(N)
———- ——————————————————————————–
1 0,11,10,1
2 2,17,12,7
3 3,15,13,5
5 6,16
可見順序問題還是沒有解決
最終解決思路:
SQL> select m, max(r)
2 from (select m, wm_concat(n) over (partition by m order by n) r from t)
3 group by m ;
M MAX(R)
———- ——————————————————————————–
1 0,1,10,11
2 2,7,12,17
3 3,5,13,15
5 6,16
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10009036/viewspace-1061450/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- wm_concat函式與oracle版本函式Oracle
- 函式呼叫棧的問題函式
- 函式內部This的指向問題函式
- 關於cuda中的函式問題函式
- [20180509]函式索引問題.txt函式索引
- 函式氣泡排序函式排序
- Python排序函式用法Python排序函式
- Java建構函式的繼承問題Java函式繼承
- 排序(對於 sort 函式的使用)排序函式
- lambda匿名函式sorted排序函式filter過濾函式map對映函式函式排序Filter
- 陣列排序函式-php陣列函式(一)陣列排序函式PHP
- Mysql的max()函式9大於10問題MySql函式
- 三次函式的對稱中心問題函式
- 大神幫我看個C函式的問題函式
- Oracle ORA-06575: 程式包或函式WM_CONCAT處於無效狀態Oracle函式
- [20190918]關於函式索引問題.txt函式索引
- String型別函式傳遞問題型別函式
- 函式呼叫引數變數傳值的問題函式變數
- 簡單探討sum()函式返回null的問題函式Null
- 父類和子類的建構函式問題函式
- C++ sort排序函式的用法總結C++排序函式
- 阿里雲 函式計算 域名配置問題阿里函式
- sigmod啟用函式和梯度消失問題函式梯度
- 一類初等函式下取點問題函式
- js中 函式引數的 傳值/傳引用 問題JS函式
- python同異級目錄下的函式呼叫問題Python函式
- c/c++ 拷貝控制 建構函式的問題C++函式
- 也談箭頭函式的 this 指向問題及相關函式
- 兩個需要求 sg 函式的樹上博弈問題函式
- GROUPBY 和開窗函式執行順序的問題函式
- 二元函式的極值與最值問題函式
- 這就是選擇排序的問題排序
- 單連結串列的排序問題排序
- MySql中SUM函式計算錯誤問題MySql函式
- 教辨別this指向問題 包括箭頭函式函式
- 問一個很基礎小白的問題,類與函式的關係。RT函式
- (求教)關於js函式按值、引用傳遞的問題JS函式
- 解決vscode c語言中scanf函式的輸入問題VSCodeC語言函式
- SQL SERVER資料庫datediff函式引發的效能問題SQLServer資料庫函式