1. 程式人生 > >Oracle listagg去重的兩種方法

Oracle listagg去重的兩種方法

一:SELECT DISTINCT

TYPE,

SUBTYPE,

LISTAGG (EN, ' | ')

WITHIN GROUP (ORDER BY EN)

OVER (PARTITION BY TYPE, SUBTYPE)

AS SKILLS

FROM (SELECT DISTINCT TYPE, SUBTYPE, EN

FROM IKB

WHERE SUBTYPE IN ('Technology_Database', 'test'))

二:

 regexp_replace((listagg(OV.PNR, ',' ) within group (order by OV.PNR)), '([^,]+)(,\1)+', '\1')