MySQL में GROUP_CONCAT() फ़ंक्शन का उपयोग एकाधिक पंक्तियों के डेटा को एक फ़ील्ड में जोड़ने के लिए किया जाता है, जिसे GROUP BY के साथ जोड़ा जाता है।
टेबल बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable (
PlayerId INT,
ListOfPlayerName VARCHAR(30)
);
Query OK, 0 rows affected (0.52 sec)
mysql> INSERT INTO DemoTable VALUES(100,'Chris');
mysql> INSERT INTO DemoTable VALUES(101,'David');
mysql> INSERT INTO DemoTable VALUES(100,'Bob');
mysql> INSERT INTO DemoTable VALUES(100,'Sam');
mysql> INSERT INTO DemoTable VALUES(102,'Carol');
mysql> INSERT INTO DemoTable VALUES(101,'Tom');
mysql> INSERT INTO DemoTable VALUES(102,'John');
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट:
+----------+------------------+
| PlayerId | ListOfPlayerName |
+----------+------------------+
| 100 | Chris |
| 101 | David |
| 100 | Bob |
| 100 | Sam |
| 102 | Carol |
| 101 | Tom |
| 102 | John |
+----------+------------------+
7 rows in set (0.00 sec)
सेपरेटर के साथ ग्रुप कॉनकैट क्वेरी
mysql> SELECT PlayerId,
GROUP_CONCAT(ListOfPlayerName SEPARATOR '/') AS AllPlayerNameWithSameId
FROM DemoTable
GROUP BY PlayerId;
परिणाम:
+----------+-------------------------+
| PlayerId | AllPlayerNameWithSameId |
+----------+-------------------------+
| 100 | Chris/Bob/Sam |
| 101 | David/Tom |
| 102 | Carol/John |
+----------+-------------------------+
3 rows in set (0.00 sec)
व्याख्या: SEPARATOR '/' क्लॉज कस्टम डिलीमीटर निर्दिष्ट करता है। डिफ़ॉल्ट रूप से, अल्पविराम (,) का उपयोग किया जाता है।