Как использовать функцию Oracle LISTAGG с уникальным фильтром? [Дубликат]

На этот вопрос уже есть ответ:

LISTAGG в Oracle для возврата различных значений 23 ответа

У меня есть такой стол:

group_id  name  
--------  ----
1         David
1         John
1         Alan
1         David
2         Julie
2         Charles

И я хочу получить следующий результат:

group_id  names
--------  -----
1         'Alan, David, John'
2         'Charles, Julie'

Я могу использовать следующий запрос:

select group_id, 
       listagg(name, ',') within group (order by name) as names
from demotable
group by group_id 

Чтобы получить это (очень похожий результат):

group_id  names
--------  -----
1         'Alan, David, David, John'
2         'Charles, Julie'

Любые идеи, как я могу отфильтровать имена по уникальности вLISTAGG вызов

Ответы на вопрос(7)

Ваш ответ на вопрос