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 में कार्य करें।