關於oracle函數listagg的使用說明
工作中經常遇到客戶提出這樣的需求,希望在匯總合並中,能夠把日期逐個枚舉出來。
如圖,原始數據是這樣的:
客戶希望能夠實現這樣的匯總合並:
那么通常我會使用listagg這個函數,但是好多網上都是系統的全面的介紹listagg這個函數的使用方法,看起來很費力氣。在這里我簡明扼要的說明一下
實現這個需求的語句是這樣的:
select name, listagg(ddate,' / ') within group (order by name) as ddate from aa group by name
需要注意的事項如下:
1. 必須得分組,也就是說group by是必須的。
2. listagg函數的第一個參數是需要進行枚舉的字段,也就是ddate;第二個參數是枚舉數值之間的分隔符;同時還需要進行排序和分組within group (order by name)
本文轉自:http://www.2cto.com/database/201304/204096.html