оракул отличается от листагг - PullRequest
0 голосов
/ 21 сентября 2018

У меня есть стол.Я могу показать все данные колонны в моей таблице, используя ',' в той же строке.но я не могу применить это отчетливо.хепл пожалуйста

1 Ответ

0 голосов
/ 21 сентября 2018

Это сложно.Одно простое предложение - использовать select distinct:

select listagg(col, ',') within group (order by col)
from (select distinct col from t) x;

Однако это затрудняет вычисление других агрегаций (или генерирование результатов, превышающих listagg()).Другой способ - использовать оконные функции в сочетании с listagg():

select listagg(case when seqnum = 1 then col end, ',') within group (order by col)
from (select t.*,
             row_number() over (partition by col order by col) as seqnum
      from t
     ) t
...