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

Oracle में कई पंक्तियों को जोड़ना और समूहित करना

यदि आप 11g पर हैं तो LISTAGG फ़ंक्शन का उपयोग करने पर विचार करें:

select grp, listagg(name,',') within group( order by name ) 
  from name_table group by grp

sqlFiddle

अपडेट करें: यदि आप नहीं हैं, तो विश्लेषिकी का उपयोग करने पर विचार करें:

select grp,
    ltrim(max(sys_connect_by_path
       (name, ',' )), ',')
        scbp
  from (select name, grp,
            row_number() over
           (partition by grp
            order by name) rn
         from tab
          )
start with rn = 1
connect by prior rn = rn-1
and prior grp = grp
  group by grp
  order by grp

sqlFiddle




  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. Oracle में अग्रणी शून्य के साथ एक संख्या को प्रारूपित करने के 2 तरीके

  3. Oracle में SQL सर्वर APPLY के बराबर क्या है?

  4. उस कथन के ट्रिगर के अंदर किसी कथन से प्रभावित पंक्तियों की संख्या कैसे प्राप्त करें

  5. Oracle में डेटाबेस ऑब्जेक्ट के रूप में नेस्टेड टेबल कैसे बनाएं?