ORACLE的LISTAGG() WITHIN GROUP ()使用

長話短說,oracle中的LISTAGG() WITHIN GROUP ()把一列的值合併爲一個值,用指定的分隔符隔開,根據條件彙總某些列上的字段,就是根據某些指定的條件,把該列的字段,彙總在行的一個字段裏,行轉列函數;

需要注意的事項如下:

(1)group  by是必須的,必須得分組。
(2)listagg函數的第一個參數是需要顯示的字段;第二個參數是數值之間的分隔符;同時還需要進行排序和分組within group (order by 字段名)

舉例說明:

select * from userinfo

在這裏插入圖片描述
把上面name的列上的所有值合併在一行一列表示:

select listagg(name, ',') within group( order by name) as name from userinfo 

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章