मारियाडीबी में, हम GROUP_CONCAT()
. का उपयोग कर सकते हैं हमारे क्वेरी परिणामों को अल्पविराम से अलग की गई सूची के रूप में वापस करने के लिए कार्य करता है। इसके द्वारा मेरा मतलब है, किसी दिए गए कॉलम के लिए, हम सभी पंक्तियों को एक पंक्ति में परिवर्तित कर सकते हैं जिसमें उस कॉलम को बनाने वाले मानों की अल्पविराम से अलग सूची होती है। सूची में प्रत्येक पंक्ति एक अलग आइटम है।
उदाहरण
मान लीजिए कि हम निम्नलिखित क्वेरी चलाते हैं:
SELECT meal
FROM guest_meals;
परिणाम:
+---------+ | meal | +---------+ | Salad | | Fish | | Burrito | | Pasta | | Salad | | Salad | +---------+ 6 rows in set (0.001 sec)
उस क्वेरी के परिणामस्वरूप छह पंक्तियाँ बन गईं।
हम उन पंक्तियों को एक अल्पविराम से अलग की गई पंक्ति में इस तरह बदल सकते हैं:
SELECT GROUP_CONCAT(meal)
FROM guest_meals;
परिणाम:
+--------------------------------------+ | GROUP_CONCAT(meal) | +--------------------------------------+ | Salad,Fish,Burrito,Pasta,Salad,Salad | +--------------------------------------+ 1 row in set (0.003 sec)
सीमांकक बदलें
हम अपने स्वयं के विभाजक को फ़ंक्शन में पास करके निर्दिष्ट कर सकते हैं, जो SEPARATOR
. के साथ उपसर्ग करता है कीवर्ड:
SELECT GROUP_CONCAT(meal SEPARATOR ' + ')
FROM guest_meals;
परिणाम:
Salad + Fish + Burrito + Pasta + Salad + Salad
परिणामों का आदेश देना
हम ORDER BY
. का उपयोग करके परिणामों को ऑर्डर कर सकते हैं समारोह में खंड:
SELECT GROUP_CONCAT(meal ORDER BY meal ASC)
FROM guest_meals;
परिणाम:
Burrito,Fish,Pasta,Salad,Salad,Salad
केवल अद्वितीय मान लौटाएं
हम एक DISTINCT
. का उपयोग कर सकते हैं केवल अद्वितीय मान लौटाने के लिए क्लॉज:
SELECT GROUP_CONCAT(DISTINCT meal ORDER BY meal ASC)
FROM guest_meals;
परिणाम:
Burrito,Fish,Pasta,Salad
परिणाम सीमित करें
हम एक LIMIT
. का उपयोग कर सकते हैं सूची में मदों की संख्या को सीमित करने के लिए खंड:
SELECT GROUP_CONCAT(DISTINCT meal ORDER BY meal ASC LIMIT 3)
FROM guest_meals;
परिणाम:
Burrito,Fish,Pasta
समूहीकृत क्वेरी
GROUP_CONCAT()
समूहबद्ध प्रश्नों को चलाते समय फ़ंक्शन आसान हो सकता है। मारियाडीबी देखें GROUP_CONCAT()
उदाहरण के लिए।