oracle listagg() 函數用法(參照例子)


工作中經常遇到很多需求是這樣的,根據條件匯總某些字段,比如公司有三個投資平台,同一個客戶拿手機號在三個平台都注冊了,但注冊過的用戶名不一樣,顯示的時候需要根據手機號顯示所有注冊過的名稱。(我用的是oracle數據庫)

1、原始數據是這樣的,如圖:

 

 

2、要求顯示成這樣,如圖:

 

 

3、具體實現:

select phone, listagg(log_name, ',') within group(order by phone) logName
  from int_phone
 where phone = '13350162230'
 group by phone

4、需要注意的事項如下:
    (1). 必須得分組,也就是說group  by是必須的。
    (2). listagg函數的第一個參數是需要顯示的字段,也就是log_name;第二個參數是數值之間的分隔符;同時還需要進行排序和分組within group (order by name)



免責聲明!

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



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