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

MySQL-এ GROUP_CONCAT() দিয়ে একাধিক সারির ডেটা কনক্যাটেনেট করা

GROUP_CONCAT() ফাংশন ব্যবহার করে একাধিক সারির ভ্যালু একটি স্ট্রিংয়ে জোড়া করা যায়। স্ট্রোড প্রসিডিউর দিয়ে এটি ডাইনামিকভাবে করা যায়।

উদাহরণ:

টেবিল তৈরি:

CREATE TABLE DemoTable (CountryName VARCHAR(100));

রেকর্ড যোগ করা:

INSERT INTO DemoTable VALUES('US'), ('AUS'), ('UK');

সব রেকর্ড দেখানো:

SELECT * FROM DemoTable;

আউটপুট:

+-------------+
| CountryName |
+-------------+
| US          |
| AUS         |
| UK          |
+-------------+

স্ট্রোড প্রসিডিউর তৈরি (প্যাটার্ন ম্যাচ করে কনক্যাট):

DELIMITER //
CREATE PROCEDURE searchDemo(IN stringValue VARCHAR(255), OUT output TEXT)
BEGIN
    SELECT GROUP_CONCAT(DISTINCT CountryName ORDER BY CountryName)
    INTO output
    FROM DemoTable
    WHERE CountryName LIKE stringValue;
END //
DELIMITER ;

প্রসিডিউর কল করা:

CALL searchDemo('U%', @output);
SELECT @output;

ফলাফল:

+---------+
| @output |
+---------+
| UK,US   |
+---------+

ব্যাখ্যা: GROUP_CONCAT(DISTINCT ...) ডুপ্লিকেট সরিয়ে আলফাবেটিক্যালি সাজায়। LIKE 'U%' দিয়ে U দিয়ে শুরু হওয়া দেশগুলো ফিল্টার করা হয়। আউটপুট প্যারামিটার (@output) দিয়ে ফলাফল পাওয়া যায়।

  1. MySQL টেবিল থেকে একাধিক সারি ডিলিট করতে কীভাবে পারি?

  2. একাধিক টেবিল থেকে ডেটা ব্যবহার করে MySQL ভিউ কীভাবে তৈরি করবেন?

  3. MySQL-এ শেষ ১০টি সারি কীভাবে বের করবেন?

  4. MySQL-এ একাধিক টেবিল থেকে ডেটা নিয়ে একটি টেবিলে ইনসার্ট করা (CROSS JOIN)