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

एक पंक्ति में स्तंभ मान

यदि आप केवल 11.1 के बजाय 11.2 पर हैं, तो आप LISTAGG . का उपयोग कर सकते हैं कुल कार्य

SELECT listagg( interval, ',' ) 
         WITHIN GROUP( ORDER BY interval )
  FROM (SELECT DISTINCT range AS interval
          FROM table_name
         WHERE age = 62)

यदि आप Oracle के पुराने संस्करण का उपयोग कर रहे हैं, तो आप अन्य में से किसी एक का उपयोग कर सकते हैं। Oracle स्ट्रिंग एकत्रीकरण तकनीक टिम हॉल के पेज पर। 11.2 से पहले, मेरी निजी प्राथमिकता एक उपयोगकर्ता-परिभाषित बनाना होगा समग्र कार्य ताकि आप तब कर सकें

SELECT string_agg( interval )
  FROM (SELECT DISTINCT range AS interval
              FROM table_name
             WHERE age = 62)

हालांकि, यदि आप कोई फ़ंक्शन नहीं बनाना चाहते हैं, तो आप ROW_NUMBER और SYS_CONNECT_BY_PATH दृष्टिकोण हालांकि इसका पालन करना थोड़ा कठिन हो जाता है

with x as (
  SELECT DISTINCT range AS interval
          FROM table_name
         WHERE age = 62 )
select ltrim( max( sys_connect_by_path(interval, ','))
                keep (dense_rank last order by curr),
              ',') range
  from (select interval,
               row_number() over (order by interval) as curr,
               row_number() over (order by interval) -1 as prev
          from x)
connect by prev = PRIOR curr
  start with curr = 1



  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. सी # से ओडीबीसी का उपयोग कर ओरेकल पैकेज फ़ंक्शन को कॉल करें

  3. यदि एमवी ASNI ज्वाइन का उपयोग करता है तो क्वेरी पुनर्लेखन विफल हो जाता है

  4. क्या Oracle का SYS_GUID () UUID RFC 4122 अनुरूप है?

  5. विभिन्न स्कीमा पर उपयोगकर्ताओं को अनुमति देना