Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle में LISTAGG अलग-अलग मान लौटाने के लिए

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;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जावा वर्ग से तालिका प्रकार के रूप में आउट पैरामीटर के साथ प्रक्रिया को कैसे कॉल करें

  2. ओरेकल में अलग CURRENT_TIMESTAMP और SYSDATE

  3. आप sqlplus में START का उपयोग करके एक sql फ़ाइल के भीतर PL/SQL ब्लॉक के लिए तर्क कैसे पास करते हैं?

  4. क्या विदेशी कुंजी हमेशा किसी अन्य तालिका में एक अद्वितीय कुंजी का संदर्भ देती है?

  5. क्या शून्य-सुरक्षित समानता जांच करने के लिए बेहतर Oracle ऑपरेटर है?