Oracle--listagg函数使用注意

listagg是一个列转行函数,在一对多的情况下,通过该函数转换成一对一

该函数使用跟聚合函数中的SUM差不多,但需要注意的是,该函数不适合用于多表连接情况下,都则及时字段值相同也会出现多值

例如:

Oracle--listagg函数使用注意

在这种情况下我们可以将该多表连接返回的结果集当成一张临时表来看待,用WITH  TEMP_NAME AS ()或者直接FROM

而且要避免返回的数据有重复值,不然还是会有相同的结果

Oracle--listagg函数使用注意

去重后

Oracle--listagg函数使用注意