কম্পিউটার টিউটোরিয়াল

MySQL-এ GROUP_CONCAT() ব্যবহার করে কলাম রেকর্ডকে তালিকায় রূপান্তর

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 সিস্টেম ভেরিয়েবল বাড়াতে হতে পারে।

  1. Java-এ PreparedStatement ব্যবহার করে MySQL টেবিলে রেকর্ড ইনসার্ট করা

  2. MySQL কমান্ড লাইন থেকে সকল রিজার্ভড শব্দ লিস্ট করা

  3. MySQL-এ একটি কলাম আপডেট করার সেরা পদ্ধতি (UPDATE SET)

  4. Java-এ MySQL টেবিল থেকে ArrayList-এ ডেটা লোড করা