कुछ RDBMS में एक GROUP_CONCAT()
होता है फ़ंक्शन जो आपको एक क्वेरी कॉलम को एक सीमांकित सूची के रूप में वापस करने की अनुमति देता है (उदाहरण के लिए, अल्पविराम से अलग की गई सूची)। MySQL और MariaDB दो ऐसे फंक्शन हैं जिनका ऐसा फंक्शन है।
PostgreSQL और SQL सर्वर के समान कार्य हैं जिन्हें STRING_AGG()
. कहा जाता है .
दूसरी ओर, Oracle के पास LISTAGG()
. है फ़ंक्शन जो लगभग एक ही चीज़ (और शायद अधिक) करता है।
तो आप कह सकते हैं कि LISTAGG()
Oracle का GROUP_CONCAT()
है समकक्ष।
उदाहरण
Oracle का LISTAGG()
. कैसे प्रदर्शित होता है, यह दिखाने के लिए यहां एक बुनियादी उदाहरण दिया गया है फ़ंक्शन काम करता है:
SELECT LISTAGG(region_name, ',')
FROM regions;
परिणाम:
LISTAGG(REGION_NAME,',') ______________________________________________ Europe,Americas,Asia,Middle East and Africa
इस मामले में, मैंने निर्दिष्ट किया कि विभाजक एक अल्पविराम है।
यहाँ क्या होता है जब हम LISTAGG()
. के बिना केवल क्वेरी करते हैं समारोह:
SELECT region_name
FROM regions;
परिणाम:
REGION_NAME _________________________ Europe Americas Asia Middle East and Africa
हमें एक अल्पविराम से अलग की गई पंक्ति के बजाय चार पंक्तियाँ मिलती हैं, जिनमें से प्रत्येक का एक अलग मान होता है, जिसमें सभी मान होते हैं।
LISTAGG()
फ़ंक्शन हमें परिणामों को ऑर्डर करने में सक्षम बनाता है, केवल अद्वितीय मान लौटाता है (DISTINCT
. के माध्यम से) खंड), और अधिक।
देखें LISTAGG()
अधिक उदाहरणों के लिए Oracle में कार्य करें।