listagg函數使用方法就像聚合函數一樣,通過Group by語句,把每個Group的一個字段,拼接起來,如:
學生表(t_student):
id name
1 小明
2 小紅
課程表(t_course):
id student_id name
1 1 語文
2 1 數學
3 2 語文
現在要想關聯兩張表顯示結果如下:
姓名 所選課程
小明 語文,數學
小紅 語文
則可以使用listagg函數:
select s.name as 姓名,listagg(c.name,',') with group(order by c.name) as 所選課程
from t_student s
right join t_course c on s.id = c.student_id
group by s.name
listagg最基礎的用法
LISTAGG(列轉行字段,連接符) WITHIN GROUP( ORDER BY 連接排序)