GROUP_CONCAT() के साथ GROUP BY का उपयोग करके एकाधिक पंक्तियों को एक कॉमा-सेपरेटेड स्ट्रिंग में संयोजित करें।
टेबल बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable (Id INT, Name VARCHAR(40));
Query OK, 0 rows affected (0.52 sec)
mysql> INSERT INTO DemoTable VALUES(100,'Chris Brown'),(101,'Adam Smith'),(101,'John Doe'),
(100,'David Miller'),(101,'Carol Taylor'),(103,'Bob Taylor');
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट:
+------+--------------+
| Id | Name |
+------+--------------+
| 100 | Chris Brown |
| 101 | Adam Smith |
| 101 | John Doe |
| 100 | David Miller |
| 101 | Carol Taylor |
| 103 | Bob Taylor |
+------+--------------+
आईडी के अनुसार नाम संयोजित करने के लिए क्वेरी
mysql> SELECT Id, GROUP_CONCAT(Name) FROM DemoTable GROUP BY Id;
परिणाम:
+------+----------------------------------+
| Id | group_concat(Name) |
+------+----------------------------------+
| 100 | Chris Brown,David Miller |
| 101 | Adam Smith,John Doe,Carol Taylor |
| 103 | Bob Taylor |
+------+----------------------------------+
3 rows in set (0.00 sec)
नोट: डिफ़ॉल्ट सेपरेटर अल्पविराम है। GROUP_CONCAT(Name SEPARATOR '; ') के साथ बदलें। क्रम के लिए GROUP_CONCAT(Name ORDER BY Name) जोड़ें। लंबी स्ट्रिंग के लिए group_concat_max_len बढ़ाएं।