GROUP_CONCAT() और SEPARATOR का उपयोग करें
MySQL में GROUP BY के साथ स्ट्रिंग्स को जोड़ने के लिए GROUP_CONCAT() फंक्शन का उपयोग करें और SEPARATOR पैरामीटर से विभाजक निर्दिष्ट करें।
सिंटैक्स
SELECT yourColumnName1,
GROUP_CONCAT(yourColumnName2 SEPARATOR 'yourSeparator') AS anyVariableName
FROM yourTableName
GROUP BY yourColumnName1;
व्यावहारिक उदाहरण
टेबल बनाना
mysql> CREATE TABLE GroupConcatenateDemo (
Id INT,
Name VARCHAR(20)
);
डेटा डालना
mysql> INSERT INTO GroupConcatenateDemo VALUES(10, 'Larry'); mysql> INSERT INTO GroupConcatenateDemo VALUES(11, 'Mike'); mysql> INSERT INTO GroupConcatenateDemo VALUES(12, 'John'); mysql> INSERT INTO GroupConcatenateDemo VALUES(10, 'Elon'); mysql> INSERT INTO GroupConcatenateDemo VALUES(10, 'Bob'); mysql> INSERT INTO GroupConcatenateDemo VALUES(11, 'Sam');
मूल डेटा
+------+-------+ | Id | Name | +------+-------+ | 10 | Larry | | 11 | Mike | | 12 | John | | 10 | Elon | | 10 | Bob | | 11 | Sam | +------+-------+
क्वेरी: Id के आधार पर GROUP BY और कॉमा सेपरेटर के साथ कॉनकैट
mysql> SELECT Id, GROUP_CONCAT(Name SEPARATOR ',') AS GroupConcatDemo FROM GroupConcatenateDemo GROUP BY Id;
आउटपुट
+------+-----------------+ | Id | GroupConcatDemo | +------+-----------------+ | 10 | Larry,Elon,Bob | | 11 | Mike,Sam | | 12 | John | +------+-----------------+
अन्य सेपरेटर उदाहरण
SEPARATOR ' '— स्पेस सेपरेटरSEPARATOR '; '— सेमीकोलन और स्पेसSEPARATOR '|'— पाइप सेपरेटरSEPARATOR '\n'— नई लाइन (नोट: आउटपुट में दृश्यमान नहीं हो सकता)
महत्वपूर्ण विकल्प
DISTINCT: डुप्लिकेट मान हटाने के लिए —GROUP_CONCAT(DISTINCT Name SEPARATOR ',')ORDER BYकॉनकैट में क्रम के लिए —GROUP_CONCAT(Name ORDER BY Name SEPARATOR ',')group_concat_max_lenसिस्टम वेरिएबल परिणाम की अधिकतम लंबाई नियंत्रित करता है (डिफ़ॉल्ट 1024 बाइट)।