Oracle數據庫多行記錄轉換一行並排序函數


Oracle數據庫多行記錄轉換一行並排序方法

在ORACLE數據庫查詢中,我們通常會要求用到將多行記錄轉換成一行並排序,這時候我們自然會想到Oracle的一個“wx_concat”函數,可以將多行記錄轉換成一行並排序,下面我們來使用Oracle數據庫測試一下結果及效果,做一個簡單的創建表和查詢表如下圖:

 

插入並查詢表數據:

下面我們使用wm_concat函數進行合並行並排序如下圖所示:

編號為1的數據合並后:

可以看出沒有問題都是按照順序進行排序,下面看下編號為2的數據合並后的結果:

從編號2可以看出,wm_concat函數能夠合並行數據並且排序但是排序后的順序是不規則的,不管怎么排序都是不規則,在這里就有點苦惱。。下面介紹一下另外一種oracle合並行並自定義排序方式---listagg() within()..函數

不多說直接先看效果圖:

使用listagg() within()..函數 可以有效地將相關聯的表數據進行合並行並且實現排序,在某些業務過程中,顯示給客戶或者用戶看的效果就需要使用到listagg() within()..函數來充分體現某些效果。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM