GROUP_CONCAT() के साथ कॉमा-सेपरेटेड लिस्ट बनाना
GROUP_CONCAT() फ़ंक्शन का उपयोग करके ग्रुप की गई पंक्तियों के मानों को कॉमा-सेपरेटेड स्ट्रिंग में जोड़ें:
SELECT col1, col2, col3, GROUP_CONCAT(col4) AS alias FROM yourTableName GROUP BY col3, col1, col2;
उदाहरण: टेबल बनाना और डेटा डालना
mysql> CREATE TABLE CommaDelimitedList (
-> Id INT NOT NULL AUTO_INCREMENT,
-> Name VARCHAR(10),
-> GroupId INT,
-> CompanyName VARCHAR(15),
-> RefId INT,
-> PRIMARY KEY(Id)
-> );
mysql> INSERT INTO CommaDelimitedList(Name, GroupId, CompanyName, RefId)
-> VALUES('Larry', 5, 'Google', 162);
mysql> INSERT INTO CommaDelimitedList(Name, GroupId, CompanyName, RefId)
-> VALUES('Larry', 5, 'Google', 5);
mysql> INSERT INTO CommaDelimitedList(Name, GroupId, CompanyName, RefId)
-> VALUES('Larry', 5, 'Google', 4);
mysql> INSERT INTO CommaDelimitedList(Name, GroupId, CompanyName, RefId)
-> VALUES('Sam', 6, 'Amazon', 3);
GROUP_CONCAT के साथ क्वेरी
mysql> SELECT Name, GroupId, CompanyName,
-> GROUP_CONCAT(RefId) AS RefList
-> FROM CommaDelimitedList
-> GROUP BY CompanyName, Name, GroupId;
आउटपुट:
+-------+---------+-------------+---------+ | Name | GroupId | CompanyName | RefList | +-------+---------+-------------+---------+ | Sam | 6 | Amazon | 3 | | Larry | 5 | Google | 162,5,4 | +-------+---------+-------------+---------+
उपयोगी विकल्प:
GROUP_CONCAT(DISTINCT col)- डुप्लिकेट हटाने के लिएGROUP_CONCAT(col ORDER BY col)- सॉर्ट करने के लिएGROUP_CONCAT(col SEPARATOR ';')- अलग सेपरेटर के लिए