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

Oracle में अल्पविराम से अलग सूची के रूप में वापसी क्वेरी परिणाम

Oracle में, हम LISTAGG() . का उपयोग कर सकते हैं हमारे क्वेरी परिणामों को अल्पविराम से अलग की गई सूची में बदलने के लिए कार्य करता है।

इसलिए, प्रत्येक मान एक अलग पंक्ति में आउटपुट होने के बजाय, सभी मान एक पंक्ति में आउटपुट होते हैं, जो अल्पविराम से अलग होते हैं (या हमारी पसंद का कोई अन्य सीमांकक)।

उदाहरण

कल्पना कीजिए कि हम निम्नलिखित क्वेरी चलाते हैं:

SELECT last_name 
FROM employees
WHERE job_id = 'IT_PROG';

परिणाम:

   LAST_NAME 
____________ 
Hunold       
Ernst        
Austin       
Pataballa    
Lorentz      

उस क्वेरी ने पाँच पंक्तियाँ लौटा दीं, जिनमें से प्रत्येक का एक अलग मान था।

यदि हम चाहते हैं कि वे मान एक पंक्ति में आउटपुट हों, तो हम निम्न कार्य कर सकते हैं:

SELECT LISTAGG(last_name, ', ')
FROM employees
WHERE job_id = 'IT_PROG';

परिणाम:

                      LISTAGG(LAST_NAME,',') 
____________________________________________ 
Hunold, Ernst, Austin, Pataballa, Lorentz    

हमने केवल LISTAGG() . को कॉलम का नाम दिया था समारोह, साथ ही साथ हमारे चुने हुए सीमांकक।

हम एक अलग सीमांकक का उपयोग कर सकते हैं या हम उस तर्क को पूरी तरह से छोड़ सकते हैं ताकि सभी आइटम संयोजित हो जाएं।

फ़ंक्शन एक DISTINCT भी स्वीकार करता है खंड (डुप्लिकेट मानों को हटाने के लिए), और एक ORDER BY क्लॉज (फ़ंक्शन के आउटपुट को ऑर्डर करने के लिए)।

क्वेरी परिणामों को समूहीकृत करते समय फ़ंक्शन भी काफी उपयोगी हो सकता है।

देखें LISTAGG() अधिक उदाहरणों के लिए Oracle में कार्य करें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL में सिंगल कोट को कैसे हैंडल करें

  2. एसक्यूएल दिनांक प्रारूप

  3. SQL ROWNUM किसी विशिष्ट श्रेणी के बीच पंक्तियों को कैसे वापस करें

  4. ORA-00997 के लिए समाधान:LONG डेटाटाइप का अवैध उपयोग

  5. Oracle अपवाद के साथ निर्देशिका से फ़ाइल पढ़ता है