GROUP_CONCAT() के साथ GROUP BY का उपयोग करके डुप्लिकेट मानों को समूहित करें और संबंधित नामों को एक पंक्ति में संयोजित करें।
टेबल बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable (
StudentFavouriteSubject VARCHAR(40),
StudentName VARCHAR(40)
);
Query OK, 0 rows affected (0.75 sec)
mysql> INSERT INTO DemoTable VALUES('MySQL','Chris'),('MongoDB','Bob'),('MySQL','Sam'),('Java','Mike'),('C','Carol'),('MongoDB','John');
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट:
+-------------------------+-------------+
| StudentFavouriteSubject | StudentName |
+-------------------------+-------------+
| MySQL | Chris |
| MongoDB | Bob |
| MySQL | Sam |
| Java | Mike |
| C | Carol |
| MongoDB | John |
+-------------------------+-------------+
डुप्लिकेट समूहित करके नाम संयोजित करने के लिए क्वेरी
mysql> SELECT GROUP_CONCAT(StudentName), StudentFavouriteSubject
FROM DemoTable
GROUP BY StudentFavouriteSubject;
परिणाम:
+---------------------------+-------------------------+
| group_concat(StudentName) | StudentFavouriteSubject |
+---------------------------+-------------------------+
| Carol | C |
| Mike | Java |
| Bob,John | MongoDB |
| Chris,Sam | MySQL |
+---------------------------+-------------------------+
4 rows in set (0.00 sec)
नोट: यह विषय के अनुसार छात्रों को समूहित करता है। GROUP_CONCAT_MAX_LEN (डिफ़ॉल्ट 1024) परिणाम को काट सकता है; सत्र के लिए SET SESSION group_concat_max_len = 1000000; के साथ बढ़ाएं।