聚合列值oracle

时间:2015-01-25 20:16:06

标签: sql oracle

我有这样的结果集:

STAFF_NUM   FLEET_CD    EFF_DT  
00046110    320         25-NOV-74 00:00 
00046110    330         25-NOV-74 00:00 
00046110    737         16-JAN-15 00:00 
00046110    767         25-NOV-74 00:00 
00046110    777         07-FEB-14 00:00 
00046110    IL9         25-NOV-74 00:00 
00046110    SU9         25-NOV-74 00:00 

是否有一个聚合函数允许我将其分组/转换为单行,如下所示?

STAFF_NUM   Fleets
00046110    320, 330, 737, 767, 777, IL9, SU9

1 个答案:

答案 0 :(得分:5)

SELECT STAFF_NUM ,
       LISTAGG(FLEET_CD , ', ') WITHIN GROUP (ORDER BY EFF_DT ) "Fleets"
  FROM t
  GROUP BY STAFF_NUM