MySQL-এ অন্য একটি কলামের বুলিয়ান মান (true/false) অনুযায়ী সারি বা রোগুলোকে একত্রিত করার জন্য GROUP_CONCAT() ফাংশন ব্যবহার করা হয়। নিচে একটি উদাহরণের মাধ্যমে ধাপে ধাপে প্রক্রিয়াটি ব্যাখ্যা করা হলো।
টেবিল তৈরি
প্রথমে DemoTable নামে একটি টেবিল তৈরি করি, যেখানে isValidUser কলামটি বুলیان টাইপের।
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
UserMessage VARCHAR(100),
isValidUser BOOLEAN
);
ডেটা ইনসার্ট
কয়েকটি রেকর্ড যোগ করি।
mysql> INSERT INTO DemoTable (UserMessage, isValidUser) VALUES ('Hi', TRUE);
mysql> INSERT INTO DemoTable (UserMessage, isValidUser) VALUES ('Hello', FALSE);
mysql> INSERT INTO DemoTable (UserMessage, isValidUser) VALUES ('Good', TRUE);
mysql> INSERT INTO DemoTable (UserMessage, isValidUser) VALUES ('Awesome !!!!!', TRUE);
সকল রেকর্ড দেখানো
mysql> SELECT * FROM DemoTable;
আউটপুট:
+----+---------------+-------------+ | Id | UserMessage | isValidUser | +----+---------------+-------------+ | 1 | Hi | 1 | | 2 | Hello | 0 | | 3 | Good | 1 | | 4 | Awesome !!!!! | 1 | +----+---------------+-------------+
বুলিয়ান মান অনুযায়ী সারি সংযোজন
GROUP_CONCAT() এবং GROUP BY ব্যবহার করে isValidUser কলামের ভিত্তিতে মেসেজগুলো একত্রিত করি।
mysql> SELECT isValidUser, GROUP_CONCAT(UserMessage)
FROM DemoTable
GROUP BY isValidUser;
ফলাফল:
+-------------+---------------------------+ | isValidUser | group_concat(UserMessage) | +-------------+---------------------------+ | 0 | Hello | | 1 | Hi,Good,Awesome !!!!! | +-------------+---------------------------+
ব্যাখ্যা: এখানে isValidUser = 1 (true) হয়েছে এমন সকল UserMessage কমা দিয়ে جدا করে একটি স্ট্রিং-এ জোড়া দিয়েছে, আর isValidUser = 0 (false) হয়েছে সেটির জন্য আলাদা একটি স্ট্রিং তৈরি হয়েছে।