基礎的用法如下:
LISTAGG(1,2) WITHIN GROUP( ORDER BY 3)
1:需要拼接的數據表中的字段
2:以什么字符分割,例如逗號,分號等字符
2與3是相同的字段
它的用法就像聚合函數一樣,通過Group by語句,把每個Group的一個字段,拼接起來。
下面舉個例子:
(1)有如下圖一個表里面存了三組數據,只有DEMO字段不同,我們想把他以一條數據表達 [A | B | C;D;E]
SELECT *FROM TestTempDemo

(2)我們使用LISTAGG()函數就很容易做到將DEMO字段拼接起來,如下圖
SELECT LISTAGG(T.DEMO,';') WITHIN GROUP (ORDER BY T.DEMO)AS DEMO FROM TestTempDemo T
(3)但是我還需要把其他值也一起查出來,那么就需要整體查詢了,如下圖
SELECT DISTINCT T.TEST,T.TEMP,(SELECT LISTAGG(T.DEMO,';') WITHIN GROUP (ORDER BY T.DEMO)AS DEMO FROM TestTempDemo T) AS DEMO FROM TestTempDemo T
希望對你們有所幫助!