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

MySQL-এ একাধিক টেক্সট রেকর্ড একসাথে जोড়া দেওয়া (GROUP_CONCAT)

MySQL-এ একাধিক রোয়ের টেক্সট ভ্যালু একসাথে জড়িয়ে একটি স্ট্রিং বানানোর জন্য GROUP_CONCAT() ফাংশন ব্যবহার করা হয়।

টেবিল এবং ডেটা

CREATE TABLE DemoTable1611 (
    Value TEXT
);

INSERT INTO DemoTable1611 VALUES('John');
INSERT INTO DemoTable1611 VALUES('is');
INSERT INTO DemoTable1611 VALUES('learning');
INSERT INTO DemoTable1611 VALUES('Java');
INSERT INTO DemoTable1611 VALUES('with');
INSERT INTO DemoTable1611 VALUES('MySQL Database');

কুয়েরি

SELECT GROUP_CONCAT(Value SEPARATOR ' ') 
FROM DemoTable1611;

ফলাফল

+-------------------------------------------+
| group_concat(Value separator ' ')         |
+-------------------------------------------+
| John is learning Java with MySQL Database |
+-------------------------------------------+

GROUP_CONCAT অপশনগুলো

GROUP_CONCAT(expr [ORDER BY ...] [SEPARATOR str] [LIMIT n])
  • SEPARATOR — ডিফল্ট কমা (,), স্পেস বা অন্য কিছু দিতে পারেন
  • ORDER BY — কনক্যাটেনেশনের আগে সর্ট করা
  • DISTINCT — ডুপ্লিকেট সরিয়ে यুনিক মান

উদাহরণ: অর্ডার এবং ডিস্টিন্ক্ট

SELECT GROUP_CONCAT(DISTINCT Value ORDER BY Value SEPARATOR ', ') 
FROM DemoTable1611;

সীমাবদ্ধতা

ডিফল্ট ম্যাক্স লেন্থ ১০২৪ ক্যারেক্টার। বড় ডেটার জন্য:

SET SESSION group_concat_max_len = 1000000;
  1. MySQL-এ একাধিক টেবিল থেকে ডেটা নিয়ে একটি টেবিলে ইনসার্ট করা (CROSS JOIN)

  2. MySQL-এ একক INSERT স্টেটমেন্টে একাধিক রো দ্রুত ইনসার্ট করা

  3. MySQL-এ CASE WHEN ও GROUP BY ব্যবহার করে একাধিক রো একত্রিত করা (Pivot)

  4. একাধিক এক্সেল ওয়ার্কশিটকে এক ওয়ার্কবুকে সহজে মার্জ করুন