MySQL-এ GROUP_CONCAT() ফাংশনে নিউ লাইন (new line) সেপারেটর ব্যবহার করতে SEPARATOR ক্লজে \r\n (Windows) বা \n (Linux/Unix) ব্যবহার করতে হয়। স্ট্রিং লিটারেলে এসকেপ সিকোয়েন্স সঠিকভাবে লিখতে হয়।
সিনট্যাক্স
SELECT GROUP_CONCAT(
CONCAT_WS(' ', column1, column2)
SEPARATOR '\r\n'
) FROM yourTableName;
টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> CREATE TABLE DemoTable (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> FirstName VARCHAR(20),
-> LastName VARCHAR(20)
-> );
mysql> INSERT INTO DemoTable(FirstName, LastName) VALUES('John', 'Smith');
mysql> INSERT INTO DemoTable(FirstName, LastName) VALUES('David', 'Miller');
mysql> INSERT INTO DemoTable(FirstName, LastName) VALUES('John', 'Doe');
সব রেকর্ড দেখুন
mysql> SELECT * FROM DemoTable;
+----+-----------+----------+
| Id | FirstName | LastName |
+----+-----------+----------+
| 1 | John | Smith |
| 2 | David | Miller |
| 3 | John | Doe |
+----+-----------+----------+
নিউ লাইন সেপারেটর দিয়ে GROUP_CONCAT
mysql> SELECT GROUP_CONCAT(
-> CONCAT_WS(' ', FirstName, LastName)
-> SEPARATOR '\r\n'
-> ) FROM DemoTable;
ফলাফল
+-------------------------------------------------------------------+
| GROUP_CONCAT(CONCAT_WS(' ', FirstName, LastName) SEPARATOR "\r\n") |
+-------------------------------------------------------------------+
| John Smith
David Miller
John Doe |
+-------------------------------------------------------------------+
ব্যাখ্যা:
CONCAT_WS(' ', FirstName, LastName)- স্পেস দিয়ে ফাস্ট এবং লাস্ট নাম জোড়া দেয়SEPARATOR '\r\n'- প্রতিটি এন্ট্রির মধ্যে ক্যারেজ রিটার্ন + নিউ লাইন যোগ করে
লিনাক্স/ইউনিক্স এনভায়রনমেন্টে
SELECT GROUP_CONCAT(
CONCAT_WS(' ', FirstName, LastName)
SEPARATOR '\n'
) FROM DemoTable;
অন্যান্য সেপারেটর উদাহরণ
-- সেমিকোলন এবং স্পেস
SELECT GROUP_CONCAT(Name SEPARATOR '; ') FROM Users;
-- পাইপ
SELECT GROUP_CONCAT(Email SEPARATOR ' | ') FROM Contacts;
-- HTML লাইন ব্রেক (ওয়েব আউটপুটের জন্য)
SELECT GROUP_CONCAT(Name SEPARATOR '
') FROM Users;
সতর্কতা: group_concat_max_len সিস্টেম ভেরিয়েবল (ডিফল্ট ১০২৪) ছাড়া যেতে পারে। বড় ডেটাসেটে এটি বাড়ান।