MySQL-এ GROUP_CONCAT() অগ্রগেট ফাংশন ব্যবহার করে একই গ্রুপের একাধিক রোয়ের মানগুলোকে একটি স্ট্রিংয়ে (কমা বা অন্য সিপারেটর দিয়ে) জোড়া দেওয়া যায়।
টেবিল ও ডেটা
mysql> CREATE TABLE DemoTable2024 (
-> SubjectName VARCHAR(20),
-> StudentName VARCHAR(20)
-> );
Query OK, 0 rows affected (0.62 sec)
mysql> INSERT INTO DemoTable2024 VALUES ('MySQL', 'Chris');
mysql> INSERT INTO DemoTable2024 VALUES ('MySQL', 'David');
mysql> INSERT INTO DemoTable2024 VALUES ('MongoDB', 'Bob');
mysql> INSERT INTO DemoTable2024 VALUES ('Java', 'Sam');
mysql> INSERT INTO DemoTable2024 VALUES ('MongoDB', 'Mike');
mysql> SELECT * FROM DemoTable2024; +-------------+-------------+ | SubjectName | StudentName | +-------------+-------------+ | MySQL | Chris | | MySQL | David | | MongoDB | Bob | | Java | Sam | | MongoDB | Mike | +-------------+-------------+
গ্রুপ কনক্যাট কোয়ারি
mysql> SELECT SubjectName, GROUP_CONCAT(StudentName)
-> FROM DemoTable2024
-> GROUP BY SubjectName;
আউটপুট
+-------------+---------------------------+ | SubjectName | group_concat(StudentName) | +-------------+---------------------------+ | Java | Sam | | MongoDB | Bob,Mike | | MySQL | Chris,David | +-------------+---------------------------+
অপশন: GROUP_CONCAT(StudentName SEPARATOR '; ') দিয়ে কাস্টম সিপারেটর দিতে পারেন। ডিফল্ট কমা। বড় ডেটাসেটের জন্য group_concat_max_len সিস্টেম ভেরিয়েবল বড় করতে হতে পারে।