CONCAT() একাধিক স্ট্রিং যোড় করে এক স্ট্রিং বানায়, আর GROUP_CONCAT() একই গ্রুপের একাধিক রোর স্ট্রিং যোড় করে এক স্ট্রিং বানায়। দুটো একসাথে ব্যবহার করে গ্রুপ অনুযায়ী ফরম্যাটেড আউটপুট পাওয়া যায়।
টেবিল তৈরি ও ডেটা ইনসার্ট
mysql> CREATE TABLE DemoTable799 (UserId INT, UserName VARCHAR(100), UserAge INT); Query OK, 0 rows affected (0.56 sec)
mysql> INSERT INTO DemoTable799 VALUES (101, 'John', 21); Query OK, 1 row affected (0.18 sec) mysql> INSERT INTO DemoTable799 VALUES (102, 'Chris', 26); Query OK, 1 row affected (0.22 sec) mysql> INSERT INTO DemoTable799 VALUES (101, 'Robert', 23); Query OK, 1 row affected (0.15 sec) mysql> INSERT INTO DemoTable799 VALUES (103, 'David', 24); Query OK, 1 row affected (0.10 sec) mysql> INSERT INTO DemoTable799 VALUES (101, 'Mike', 29); Query OK, 1 row affected (0.18 sec)
রেকর্ড দেখানো
mysql> SELECT * FROM DemoTable799;
আউটপুট:
+--------+----------+---------+ | UserId | UserName | UserAge | +--------+----------+---------+ | 101 | John | 21 | | 102 | Chris | 26 | | 101 | Robert | 23 | | 103 | David | 24 | | 101 | Mike | 29 | +--------+----------+---------+ 5 rows in set (0.00 sec)
UserId অনুযায়ী গ্রুপ করে 'MR.' প্রিফিক্স যোগ করে ক্যাটেনেট
mysql> SELECT UserId, GROUP_CONCAT(CONCAT('MR.', UserName))
FROM DemoTable799
GROUP BY UserId;
ফলাফল:
+--------+---------------------------------------+
| UserId | GROUP_CONCAT(CONCAT('MR.', UserName)) |
+--------+---------------------------------------+
| 101 | MR.John,MR.Robert,MR.Mike |
| 102 | MR.Chris |
| 103 | MR.David |
+--------+---------------------------------------+
3 rows in set (0.00 sec)
ব্যাখ্যা
CONCAT('MR.', UserName)- প্রতিটি রোর UserName-র সাথে 'MR.' প্রিফিক্স যোগ করে।GROUP_CONCAT(...)- একই UserId-এর সব রোর ফলাফল কমা দিয়ে যোড় করে।GROUP BY UserId- UserId অনুযায়ী গ্রুপ করে।
অন্যান্য GROUP_CONCAT অপশন
GROUP_CONCAT(CONCAT('MR.', UserName) ORDER BY UserName SEPARATOR '; ')