MySQL-এ একাধিক সারি মানকে একটি কমা-বিচ্ছিন্ন তালিকায় রূপান্তর করতে GROUP_CONCAT() ফাংশন ব্যবহার করা হয়। এটি রিপোর্টিং বা ডেটা এক্সপোর্টে খুব কাজে আসে।
উদাহরণ
১. টেবিল তৈরি করুন
mysql> CREATE TABLE DemoTable (
-> ClientId INT,
-> ClientName VARCHAR(20)
-> );
২. ডেটা ইনসার্ট করুন
mysql> INSERT INTO DemoTable VALUES(100, 'Chris');
mysql> INSERT INTO DemoTable VALUES(100, 'Robert');
mysql> INSERT INTO DemoTable VALUES(100, 'Adam');
mysql> INSERT INTO DemoTable VALUES(100, 'David');
৩. সব রেকর্ড দেখুন
mysql> SELECT * FROM DemoTable;
আউটপুট:
+----------+------------+
| ClientId | ClientName |
+----------+------------+
| 100 | Chris |
| 100 | Robert |
| 100 | Adam |
| 100 | David |
+----------+------------+
৪. GROUP_CONCAT ব্যবহার করে তালিকা তৈরি করুন
mysql> SELECT ClientId, GROUP_CONCAT(ClientName SEPARATOR ',')
-> FROM DemoTable GROUP BY ClientId;
৫. ফলাফল
+----------+----------------------------------------+
| ClientId | group_concat(ClientName separator ',') |
+----------+----------------------------------------+
| 100 | Chris,Robert,Adam,David |
+----------+----------------------------------------+
টিপস: ডিফল্ট সেপারেটর হলো কমা (,)। আপনি SEPARATOR কীওয়ার্ড দিয়ে অন্য সেপারেটর (যেমন ';', '|', '\n') ব্যবহার করতে পারেন। বড় ডেটাসেটের জন্য group_concat_max_len সিস্টেম ভেরিয়েবল বাড়াতে হতে পারে।