19c और बाद के संस्करण:
select listagg(distinct the_column, ',') within group (order by the_column)
from the_table
18c और इससे पहले:
select listagg(the_column, ',') within group (order by the_column)
from (
select distinct the_column
from the_table
) t
अगर आपको और कॉलम चाहिए, तो आप जो खोज रहे हैं वह कुछ ऐसा हो सकता है:
select col1, listagg(col2, ',') within group (order by col2)
from (
select col1,
col2,
row_number() over (partition by col1, col2 order by col1) as rn
from foo
order by col1,col2
)
where rn = 1
group by col1;